utils/check-package: drop six usage
PATCH 1/1 utils/check-package: drop six usage
The shebang in check-package now defines python3. There is no longer a need to maintain support with python 2.x.
See-also: 02b165dc71 (check-package: fix Python3 support)
--- utils/check-package | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-)
utils/check-package +3 -7
@@ -6,7 +6,6 @@ import inspect import magic import os import re -import six import sys import checkpackagelib.base
@@ -218,12 +217,9 @@ def check_file_using_lib(fname): if fail > 0: failed.add(name) nwarnings += warn - if six.PY3: - f = open(fname, "r", errors="surrogateescape") - else: - f = open(fname, "r") + lastline = "" - for lineno, text in enumerate(f.readlines()): + for lineno, text in enumerate(open(fname, "r", errors="surrogateescape").readlines()): nlines += 1 for name, cf in objects: if cf.disable.search(lastline):
@@ -233,7 +229,7 @@ def check_file_using_lib(fname): failed.add(name) nwarnings += warn lastline = text - f.close() + for name, cf in objects: warn, fail = print_warnings(cf.after(), name in xfail) if fail > 0:
Signature · 6 lines
2.25.1 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Quoted 3 lines · Vincent Fazio
The shebang in check-package now defines python3. There is no longer a need to maintain support with python 2.x.
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
On 2023-04-02 20:35 -0500, Vincent Fazio spake thusly:
Quoted 24 lines
The shebang in check-package now defines python3. There is no longer a need to maintain support with python 2.x.
See-also:
02b165dc71(check-package: fix Python3 support)Signed-off-by Vincent Fazio <[email protected]>--- utils/check-package | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-)utils/check-package +0
-1@@ -6,7 +6,6 @@ import inspect import magic import os import re -import six import sys import checkpackagelib.base@@ -218,12 +217,9 @@ def check_file_using_lib(fname): if fail > 0:
utils/check-package def check_file_using_lib(fname): · line 222
Quoted 10 lines
utils/check-package +2
-5failed.add(name) nwarnings += warn - if six.PY3: - f = open(fname, "r", errors="surrogateescape") - else: - f = open(fname, "r") + lastline = "" - for lineno, text in enumerate(f.readlines()): + for lineno, text in enumerate(open(fname, "r", errors="surrogateescape").readlines()):
Err.. This leaks a file object, no?
Even if the script is short-lived, it is better to properly close() files once they are unused.
Here, I believe using a context manager is adequate (and relatively easy now that we do no longer have to deal with two ways if opening the file):
with open(fname, "r", errors="surrogateescape") as f:
for lineno, text in enumerate(f.readlines()):
...
Regards,
Yann E. MORIN.
Quoted 19 lines
utils/check-package +1
-1nlines += 1 for name, cf in objects: if cf.disable.search(lastline):@@ -233,7 +229,7 @@ def check_file_using_lib(fname): failed.add(name) nwarnings += warn lastline = text - f.close() + for name, cf in objects: warn, fail = print_warnings(cf.after(), name in xfail) if fail > 0:Signature · 6 lines
2.25.1 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Signature · 10 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Quoted 38 lines · Yann E. MORIN
On 2023-04-02 20:35 -0500, Vincent Fazio spake thusly:
Quoted 24 lines
The shebang in check-package now defines python3. There is no longer a need to maintain support with python 2.x.
See-also:
02b165dc71(check-package: fix Python3 support)Signed-off-by Vincent Fazio <[email protected]>--- utils/check-package | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-)utils/check-package +0
-1@@ -6,7 +6,6 @@ import inspect import magic import os import re -import six import sys import checkpackagelib.base@@ -218,12 +217,9 @@ def check_file_using_lib(fname): if fail > 0:utils/check-package def check_file_using_lib(fname): · line 222
Quoted 10 lines
utils/check-package +2
-5failed.add(name) nwarnings += warn - if six.PY3: - f = open(fname, "r", errors="surrogateescape") - else: - f = open(fname, "r") + lastline = "" - for lineno, text in enumerate(f.readlines()): + for lineno, text in enumerate(open(fname, "r", errors="surrogateescape").readlines()):Err.. This leaks a file object, no?
Quoted 2 lines
Even if the script is short-lived, it is better to properly
close()files once they are unused.
It doesn't leak. It just doesn't close the file until some unspecified time in
the flow. In this case it's actually pretty well specified: it closes after the readlines() call ends because the file object has no more references.
So no, a context manager isn't really needed here.
Regards,
Arnout
Quoted 27 lines
Here, I believe using a context manager is adequate (and relatively easy now that we do no longer have to deal with two ways if opening the file):
with
open(fname, "r", errors="surrogateescape")as f:
for lineno, text in enumerate(f.readlines()):
...Regards,
Yann E. MORIN.Quoted 15 lines
utils/check-package +1
-1nlines += 1 for name, cf in objects: if cf.disable.search(lastline):@@ -233,7 +229,7 @@ def check_file_using_lib(fname): failed.add(name) nwarnings += warn lastline = text - f.close() + for name, cf in objects: warn, fail = print_warnings(cf.after(), name in xfail) if fail > 0:Signature · 1 line
2.25.1
Quoted 5 lines
Quoted 4 lines
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot
Yann E. MORIN
AppliedVincent, All,
On 2023-04-02 20:35 -0500, Vincent Fazio spake thusly:
Quoted 6 lines
The shebang in check-package now defines python3. There is no longer a need to maintain support with python 2.x.
See-also:
02b165dc71(check-package: fix Python3 support)Signed-off-by Vincent Fazio <[email protected]>
Applied to master, thanks.
Quoted 18 lines
--- utils/check-package | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-)utils/check-package +0
-1@@ -6,7 +6,6 @@ import inspect import magic import os import re -import six import sys import checkpackagelib.base@@ -218,12 +217,9 @@ def check_file_using_lib(fname): if fail > 0:
utils/check-package def check_file_using_lib(fname): · line 222
Quoted 10 lines
utils/check-package +2
-5failed.add(name) nwarnings += warn - if six.PY3: - f = open(fname, "r", errors="surrogateescape") - else: - f = open(fname, "r") + lastline = "" - for lineno, text in enumerate(f.readlines()): + for lineno, text in enumerate(open(fname, "r", errors="surrogateescape").readlines()):
As seen on IRC: it does not leak a fileobject: it is not bound to a variable, so the object is garbage-collected as soon as it is no longer referenced, i.e. right after the function call ends.
Regards,
Yann E. MORIN.
Quoted 19 lines
utils/check-package +1
-1nlines += 1 for name, cf in objects: if cf.disable.search(lastline):@@ -233,7 +229,7 @@ def check_file_using_lib(fname): failed.add(name) nwarnings += warn lastline = text - f.close() + for name, cf in objects: warn, fail = print_warnings(cf.after(), name in xfail) if fail > 0:Signature · 6 lines
2.25.1 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Signature · 10 lines
.-----------------.--------------------.------------------.--------------------. | Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: | | +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ | | +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no | | http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. | '------------------------------^-------^------------------^--------------------' _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Quoted 8 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Vincent" == Vincent Fazio <[email protected]> writes:
The shebang in check-package now defines python3. There is no longer a need to maintain support with python 2.x.
See-also:
02b165dc71(check-package: fix Python3 support)Signed-off-by Vincent Fazio <[email protected]>
Committed to 2023.02.x, thanks.
Signature · 5 lines
Bye, Peter Korsgaard _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot