1 |
commit: 1df7fc5c8c1295aec7bf3c91863432ebac0caae5 |
2 |
Author: Zac Medico <zmedico <AT> gentoo <DOT> org> |
3 |
AuthorDate: Thu Sep 1 02:52:58 2011 +0000 |
4 |
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org> |
5 |
CommitDate: Thu Sep 1 02:55:45 2011 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=1df7fc5c |
7 |
|
8 |
xml/metadata: implement XMLParser.doctype() |
9 |
|
10 |
Avoid deprecation warnings again, like in commit |
11 |
63035acd702ab0cdaac31e33676b5a20a91eae47. |
12 |
|
13 |
--- |
14 |
pym/portage/xml/metadata.py | 15 +++++++++++++-- |
15 |
1 files changed, 13 insertions(+), 2 deletions(-) |
16 |
|
17 |
diff --git a/pym/portage/xml/metadata.py b/pym/portage/xml/metadata.py |
18 |
index ef335e2..9e18869 100644 |
19 |
--- a/pym/portage/xml/metadata.py |
20 |
+++ b/pym/portage/xml/metadata.py |
21 |
@@ -36,10 +36,19 @@ except ImportError: |
22 |
import xml.etree.ElementTree as etree |
23 |
|
24 |
import re |
25 |
+import xml.etree.ElementTree |
26 |
import portage |
27 |
from portage import os |
28 |
from portage.util import unique_everseen |
29 |
|
30 |
+class _MetadataTreeBuilder(xml.etree.ElementTree.TreeBuilder): |
31 |
+ """ |
32 |
+ Implements doctype() as required to avoid deprecation warnings with |
33 |
+ Python >=2.7. |
34 |
+ """ |
35 |
+ def doctype(self, name, pubid, system): |
36 |
+ pass |
37 |
+ |
38 |
class _Maintainer(object): |
39 |
"""An object for representing one maintainer. |
40 |
|
41 |
@@ -173,7 +182,8 @@ class MetaDataXML(object): |
42 |
self._xml_tree = None |
43 |
|
44 |
try: |
45 |
- self._xml_tree = etree.parse(metadata_xml_path) |
46 |
+ self._xml_tree = etree.parse(metadata_xml_path, |
47 |
+ parser=etree.XMLParser(target=_MetadataTreeBuilder())) |
48 |
except ImportError: |
49 |
pass |
50 |
|
51 |
@@ -208,7 +218,8 @@ class MetaDataXML(object): |
52 |
|
53 |
if self._herdstree is None: |
54 |
try: |
55 |
- self._herdstree = etree.parse(self._herds_path) |
56 |
+ self._herdstree = etree.parse(self._herds_path, |
57 |
+ parser=etree.XMLParser(target=_MetadataTreeBuilder())) |
58 |
except (ImportError, IOError, SyntaxError): |
59 |
return None |