1 |
commit: 935c47d972d986f1822850618442c19c97e300c3 |
2 |
Author: Aaron Bauman <bman <AT> gentoo <DOT> org> |
3 |
AuthorDate: Thu Aug 6 23:28:13 2020 +0000 |
4 |
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org> |
5 |
CommitDate: Fri Aug 7 02:53:11 2020 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=935c47d9 |
7 |
|
8 |
lib/portage/xml/metadata.py: fix ungrouped-imports w/refactor |
9 |
|
10 |
* This drops the import for cElementTree as it is deprecated. See: |
11 |
|
12 |
https://docs.python.org/3/library/xml.etree.elementtree.html |
13 |
|
14 |
* Drop the error checking as these modules are a part of stdlib. |
15 |
|
16 |
* Additionally, the pyexpat issue was fixed in 3.2. See: |
17 |
|
18 |
https://bugs.python.org/issue14988 |
19 |
|
20 |
Signed-off-by: Aaron Bauman <bman <AT> gentoo.org> |
21 |
Signed-off-by: Zac Medico <zmedico <AT> gentoo.org> |
22 |
|
23 |
lib/portage/xml/metadata.py | 29 ++++++++--------------------- |
24 |
1 file changed, 8 insertions(+), 21 deletions(-) |
25 |
|
26 |
diff --git a/lib/portage/xml/metadata.py b/lib/portage/xml/metadata.py |
27 |
index 646edb5b9..808ba2246 100644 |
28 |
--- a/lib/portage/xml/metadata.py |
29 |
+++ b/lib/portage/xml/metadata.py |
30 |
@@ -31,29 +31,16 @@ |
31 |
__all__ = ('MetaDataXML', 'parse_metadata_use') |
32 |
|
33 |
|
34 |
-try: |
35 |
- import xml.etree.cElementTree as etree |
36 |
-except (SystemExit, KeyboardInterrupt): |
37 |
- raise |
38 |
-except (ImportError, SystemError, RuntimeError, Exception): |
39 |
- # broken or missing xml support |
40 |
- # https://bugs.python.org/issue14988 |
41 |
- import xml.etree.ElementTree as etree |
42 |
- |
43 |
-try: |
44 |
- from xml.parsers.expat import ExpatError |
45 |
-except (SystemExit, KeyboardInterrupt): |
46 |
- raise |
47 |
-except (ImportError, SystemError, RuntimeError, Exception): |
48 |
- ExpatError = SyntaxError |
49 |
- |
50 |
import re |
51 |
-import xml.etree.ElementTree |
52 |
+import xml.etree.ElementTree as etree |
53 |
+ |
54 |
+from xml.parsers.expat import ExpatError |
55 |
+ |
56 |
from portage import _encodings, _unicode_encode |
57 |
from portage.util import cmp_sort_key, unique_everseen |
58 |
|
59 |
|
60 |
-class _MetadataTreeBuilder(xml.etree.ElementTree.TreeBuilder): |
61 |
+class _MetadataTreeBuilder(etree.TreeBuilder): |
62 |
""" |
63 |
Implements doctype() as required to avoid deprecation warnings with |
64 |
Python >=2.7. |
65 |
@@ -198,8 +185,8 @@ class MetaDataXML: |
66 |
|
67 |
try: |
68 |
self._xml_tree = etree.parse(_unicode_encode(metadata_xml_path, |
69 |
- encoding=_encodings['fs'], errors='strict'), |
70 |
- parser=etree.XMLParser(target=_MetadataTreeBuilder())) |
71 |
+ encoding = _encodings['fs'], errors='strict'), |
72 |
+ parser = etree.XMLParser(target=_MetadataTreeBuilder())) |
73 |
except ImportError: |
74 |
pass |
75 |
except ExpatError as e: |
76 |
@@ -238,7 +225,7 @@ class MetaDataXML: |
77 |
try: |
78 |
self._herdstree = etree.parse(_unicode_encode(self._herds_path, |
79 |
encoding=_encodings['fs'], errors='strict'), |
80 |
- parser=etree.XMLParser(target=_MetadataTreeBuilder())) |
81 |
+ parser = etree.XMLParser(target=_MetadataTreeBuilder())) |
82 |
except (ImportError, IOError, SyntaxError): |
83 |
return None |