Gentoo Archives: gentoo-commits

From: Zac Medico <zmedico@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/portage:master commit in: pym/portage/xml/
Date: Thu, 01 Sep 2011 02:56:25
Message-Id: 1df7fc5c8c1295aec7bf3c91863432ebac0caae5.zmedico@gentoo
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