summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
authorZac Medico <zmedico@gentoo.org>2010-12-31 19:09:11 -0800
committerZac Medico <zmedico@gentoo.org>2010-12-31 19:10:48 -0800
commit7689b075628c2120bf5184c8df48273b0b9e8e81 (patch)
treec25388f541101c9b2a38383a959707d8afa542d4 /bin
parentb0e4d57699f81612e4a3e4dc7e29648769f7e7f9 (diff)
downloadportage-7689b075628c2120bf5184c8df48273b0b9e8e81.tar.gz
portage-7689b075628c2120bf5184c8df48273b0b9e8e81.tar.bz2
portage-7689b075628c2120bf5184c8df48273b0b9e8e81.zip
egencache: handle ImportError for ExpatError
Diffstat (limited to 'bin')
-rwxr-xr-xbin/egencache15
1 files changed, 10 insertions, 5 deletions
diff --git a/bin/egencache b/bin/egencache
index e0834a4ad..c01ced058 100755
--- a/bin/egencache
+++ b/bin/egencache
@@ -45,12 +45,16 @@ from portage.dep import Atom, isjustname
from portage.versions import pkgcmp, pkgsplit, vercmp
try:
- import xml.etree.ElementTree
+ from xml.etree import ElementTree
except ImportError:
pass
else:
- from repoman.utilities import parse_metadata_use
- from xml.parsers.expat import ExpatError
+ try:
+ from xml.parsers.expat import ExpatError
+ except ImportError:
+ pass
+ else:
+ from repoman.utilities import parse_metadata_use
from repoman.utilities import FindVCS
@@ -171,7 +175,8 @@ def parse_args(args):
if options.update_use_local_desc:
try:
- xml.etree.ElementTree
+ ElementTree
+ ExpatError
except NameError:
parser.error('--update-use-local-desc requires python with USE=xml!')
@@ -406,7 +411,7 @@ class GenUseLocalDesc(object):
for cp in self._portdb.cp_all():
metadata_path = os.path.join(repo_path, cp, 'metadata.xml')
try:
- metadata = xml.etree.ElementTree.parse(metadata_path)
+ metadata = ElementTree.parse(metadata_path)
except IOError:
pass
except (ExpatError, EnvironmentError) as e: