From: Zac Medico Date: Sat, 14 Apr 2012 02:47:13 +0000 (-0700) Subject: Handle SystemError when importing xml libraries. X-Git-Tag: v2.2.0_alpha101~16 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=4fd43df42a9705bdb7681f4d67fb49b8da24a5d9;p=portage.git Handle SystemError when importing xml libraries. --- diff --git a/bin/repoman b/bin/repoman index 076d4042f..42539241e 100755 --- a/bin/repoman +++ b/bin/repoman @@ -45,7 +45,7 @@ portage.dep._internal_warnings = True try: import xml.etree.ElementTree from xml.parsers.expat import ExpatError -except ImportError: +except (ImportError, SystemError): msg = ["Please enable python's \"xml\" USE flag in order to use repoman."] from portage.output import EOutput out = EOutput() diff --git a/pym/portage/xml/metadata.py b/pym/portage/xml/metadata.py index bed6a1e55..25f801a47 100644 --- a/pym/portage/xml/metadata.py +++ b/pym/portage/xml/metadata.py @@ -1,4 +1,4 @@ -# Copyright 2010-2011 Gentoo Foundation +# Copyright 2010-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 """Provides an easy-to-use python interface to Gentoo's metadata.xml file. @@ -42,12 +42,12 @@ if sys.hexversion < 0x2070000 or \ else: try: import xml.etree.cElementTree as etree - except ImportError: + except (ImportError, SystemError): import xml.etree.ElementTree as etree try: from xml.parsers.expat import ExpatError -except ImportError: +except (ImportError, SystemError): ExpatError = SyntaxError import re diff --git a/pym/repoman/herdbase.py b/pym/repoman/herdbase.py index 8ce36a704..91a32cb00 100644 --- a/pym/repoman/herdbase.py +++ b/pym/repoman/herdbase.py @@ -1,13 +1,13 @@ # -*- coding: utf-8 -*- # repoman: Herd database analysis -# Copyright 2010-2011 Gentoo Foundation +# Copyright 2010-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 or later import errno import xml.etree.ElementTree try: from xml.parsers.expat import ExpatError -except ImportError: +except (ImportError, SystemError): # This means that python is built without xml support. # We tolerate global scope import failures for optional # modules, so that ImportModulesTestCase can succeed (or