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