Gentoo Archives: gentoo-commits

From: Zac Medico <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:master commit in: lib/portage/xml/
Date: Fri, 07 Aug 2020 03:29:13
Message-Id: 1596768791.935c47d972d986f1822850618442c19c97e300c3.zmedico@gentoo
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