Nilesh Patra pushed to branch master at lintian / lintian
Commits:
-
69861ea9
by Louis-Philippe Véronneau at 2024-07-31T14:43:17+00:00
6 changed files:
- lib/Lintian/Check/Languages/Python/StdlibDeprecation.pm
- t/recipes/checks/languages/python/stdlib-deprecation/python-imports-asyncore/build-spec/orig/from.py
- t/recipes/checks/languages/python/stdlib-deprecation/python-imports-asyncore/build-spec/orig/import.py
- t/recipes/checks/languages/python/stdlib-deprecation/python-imports-asyncore/eval/hints
- t/recipes/checks/languages/python/stdlib-deprecation/python-imports-distutils/build-spec/orig/import.py
- t/recipes/checks/languages/python/stdlib-deprecation/python-imports-distutils/eval/hints
Changes:
... | ... | @@ -94,7 +94,19 @@ sub visit_patched_files { |
94 | 94 | $pointer,
|
95 | 95 | $library,
|
96 | 96 | "(deprecated in Python $deprecated, removed in Python $removed)"
|
97 | - ) if $line =~ m{from $library} || $line =~ m{import $library};
|
|
97 | + )
|
|
98 | + # from library import foo
|
|
99 | + # from library.sub import foo
|
|
100 | + # this also won't match "from library2"
|
|
101 | + if $line =~ m{^from $library(\s||\..+ import)}
|
|
102 | + # import foo, library, bar
|
|
103 | + ||$line =~ m{^import.+$library,}
|
|
104 | + # import library
|
|
105 | + # import library.sub
|
|
106 | + # import foo, library
|
|
107 | + # import foo, library.sub
|
|
108 | + # import foo, library.sub, bar
|
|
109 | + ||$line =~ m{^import.+$library(,||\..+)?$};
|
|
98 | 110 | }
|
99 | 111 | |
100 | 112 | }continue {
|
1 | 1 | #!/usr/bin/python3
|
2 | 2 | |
3 | +from asyncore import socket_map
|
|
4 | + |
|
5 | +# This should not trigger the uses-deprecated-python-stdlib tag
|
|
3 | 6 | from ..server.asyncserver import asyncore, RequestHandler, loop, AsyncServer, AsyncServerException
|
4 | 7 | from supervisor.medusa import asyncore_25 as asyncore |
1 | 1 | #!/usr/bin/python3
|
2 | 2 | |
3 | 3 | import asyncore
|
4 | +import struct, socket, argparse, asyncore
|
|
5 | +import struct, asyncore, argparse |
1 | +python-imports-asyncore (source): uses-deprecated-python-stdlib asyncore (deprecated in Python 3.6, removed in Python 3.12) [import.py:5]
|
|
2 | +python-imports-asyncore (source): uses-deprecated-python-stdlib asyncore (deprecated in Python 3.6, removed in Python 3.12) [import.py:4]
|
|
1 | 3 | python-imports-asyncore (source): uses-deprecated-python-stdlib asyncore (deprecated in Python 3.6, removed in Python 3.12) [import.py:3]
|
2 | -python-imports-asyncore (source): uses-deprecated-python-stdlib asyncore (deprecated in Python 3.6, removed in Python 3.12) [from.py:4]
|
|
3 | 4 | python-imports-asyncore (source): uses-deprecated-python-stdlib asyncore (deprecated in Python 3.6, removed in Python 3.12) [from.py:3] |
1 | 1 | #!/usr/bin/python3
|
2 | 2 | |
3 | 3 | import distutils
|
4 | +import foo, bar, distutils.core
|
|
5 | +import foo, distutils.core, bara
|
|
6 | + |
|
7 | +# This should not match the uses-deprecated-python-stdlib tag
|
|
8 | +import distutils2 |
1 | +python-imports-distutils (source): uses-deprecated-python-stdlib distutils (deprecated in Python 3.10, removed in Python 3.12) [import.py:5]
|
|
2 | +python-imports-distutils (source): uses-deprecated-python-stdlib distutils (deprecated in Python 3.10, removed in Python 3.12) [import.py:4]
|
|
1 | 3 | python-imports-distutils (source): uses-deprecated-python-stdlib distutils (deprecated in Python 3.10, removed in Python 3.12) [import.py:3]
|
2 | 4 | python-imports-distutils (source): uses-deprecated-python-stdlib distutils (deprecated in Python 3.10, removed in Python 3.12) [from.py:7] |