aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2011-08-31 19:52:58 -0700
committerZac Medico <zmedico@gentoo.org>2011-08-31 19:52:58 -0700
commitce501b36d7078db059c606d3b4f38637ad09528e (patch)
tree6b60a4a21d020516d6158bbb580ff219e4e0a2f6 /pym/portage/xml
parentFix deprecated Element.getchildren() call. (diff)
downloadportage-ce501b36d7078db059c606d3b4f38637ad09528e.tar.gz
portage-ce501b36d7078db059c606d3b4f38637ad09528e.tar.bz2
portage-ce501b36d7078db059c606d3b4f38637ad09528e.zip
xml/metadata: implement XMLParser.doctype()
Avoid deprecation warnings again, like in commit 63035acd702ab0cdaac31e33676b5a20a91eae47.
Diffstat (limited to 'pym/portage/xml')
-rw-r--r--pym/portage/xml/metadata.py15
1 files changed, 13 insertions, 2 deletions
diff --git a/pym/portage/xml/metadata.py b/pym/portage/xml/metadata.py
index ef335e29f..9e1886927 100644
--- a/pym/portage/xml/metadata.py
+++ b/pym/portage/xml/metadata.py
@@ -36,10 +36,19 @@ except ImportError:
import xml.etree.ElementTree as etree
import re
+import xml.etree.ElementTree
import portage
from portage import os
from portage.util import unique_everseen
+class _MetadataTreeBuilder(xml.etree.ElementTree.TreeBuilder):
+ """
+ Implements doctype() as required to avoid deprecation warnings with
+ Python >=2.7.
+ """
+ def doctype(self, name, pubid, system):
+ pass
+
class _Maintainer(object):
"""An object for representing one maintainer.
@@ -173,7 +182,8 @@ class MetaDataXML(object):
self._xml_tree = None
try:
- self._xml_tree = etree.parse(metadata_xml_path)
+ self._xml_tree = etree.parse(metadata_xml_path,
+ parser=etree.XMLParser(target=_MetadataTreeBuilder()))
except ImportError:
pass
@@ -208,7 +218,8 @@ class MetaDataXML(object):
if self._herdstree is None:
try:
- self._herdstree = etree.parse(self._herds_path)
+ self._herdstree = etree.parse(self._herds_path,
+ parser=etree.XMLParser(target=_MetadataTreeBuilder()))
except (ImportError, IOError, SyntaxError):
return None