From: Zac Medico Date: Tue, 8 Feb 2011 10:01:13 +0000 (-0800) Subject: repoman.herdbase: tolerate expat ImportError X-Git-Tag: v2.1.9.39~4 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=df5e3aad0149419ef6c40adee85fbf3ec9aa1edc;p=portage.git repoman.herdbase: tolerate expat ImportError We tolerate global scope import failures for optional modules, so that ImportModulesTestCase can succeed (or possibly alert us about unexpected import failures). --- diff --git a/pym/portage/tests/lint/test_import_modules.py b/pym/portage/tests/lint/test_import_modules.py index 81ffedec4..8d257c5a6 100644 --- a/pym/portage/tests/lint/test_import_modules.py +++ b/pym/portage/tests/lint/test_import_modules.py @@ -11,7 +11,6 @@ class ImportModulesTestCase(TestCase): def testImportModules(self): expected_failures = frozenset(( - 'repoman.herdbase', # requires python with xml support )) for mod in self._iter_modules(PORTAGE_PYM_PATH): diff --git a/pym/repoman/herdbase.py b/pym/repoman/herdbase.py index 4808d3ca3..64b59e636 100644 --- a/pym/repoman/herdbase.py +++ b/pym/repoman/herdbase.py @@ -1,11 +1,18 @@ # -*- coding: utf-8 -*- # repoman: Herd database analysis -# Copyright 2010 Gentoo Foundation +# Copyright 2010-2011 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 or later import errno import xml.etree.ElementTree -from xml.parsers.expat import ExpatError +try: + from xml.parsers.expat import ExpatError +except ImportError: + # This means that python is built without xml support. + # We tolerate global scope import failures for optional + # modules, so that ImportModulesTestCase can succeed (or + # possibly alert us about unexpected import failures). + pass from portage.exception import FileNotFound, ParseError, PermissionDenied __all__ = [