diff options
author | Zac Medico <zmedico@gentoo.org> | 2011-08-27 12:01:06 -0700 |
---|---|---|
committer | Zac Medico <zmedico@gentoo.org> | 2011-08-27 12:01:06 -0700 |
commit | 63035acd702ab0cdaac31e33676b5a20a91eae47 (patch) | |
tree | d260473d5085bf3c26f8aa37e3afdfd94c529dd3 | |
parent | 42c96587b86ba8f551f605086e47a5cd96843a1a (diff) | |
download | portage-63035acd702ab0cdaac31e33676b5a20a91eae47.tar.gz portage-63035acd702ab0cdaac31e33676b5a20a91eae47.tar.bz2 portage-63035acd702ab0cdaac31e33676b5a20a91eae47.zip |
egencache: implement XMLParser.doctype()
This is prevents "DeprecationWarning: This method of XMLParser is
deprecated. Define doctype() method on the TreeBuilder target."
warnings. The code is copied from repoman, commit
5a5e51a2737a0855bb562683f50c57cc31587460.
-rwxr-xr-x | bin/egencache | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/bin/egencache b/bin/egencache index 6d8df35b5..a87394c0d 100755 --- a/bin/egencache +++ b/bin/egencache @@ -368,6 +368,14 @@ class GenCache(object): "committing target: %s\n" % (ce,), level=logging.ERROR, noiselevel=-1) +class _MetadataTreeBuilder(ElementTree.TreeBuilder): + """ + Implements doctype() as required to avoid deprecation warnings with + >=python-2.7. + """ + def doctype(self, name, pubid, system): + pass + class GenUseLocalDesc(object): def __init__(self, portdb, output=None, preserve_comments=False): @@ -475,7 +483,9 @@ class GenUseLocalDesc(object): for cp in self._portdb.cp_all(): metadata_path = os.path.join(repo_path, cp, 'metadata.xml') try: - metadata = ElementTree.parse(metadata_path) + metadata = ElementTree.parse(metadata_path, + parser=ElementTree.XMLParser( + target=_MetadataTreeBuilder())) except IOError: pass except (ExpatError, EnvironmentError) as e: |