From 33b12d3c18a35f85785227267347f9ac7f7273a4 Mon Sep 17 00:00:00 2001 From: Dan Prince Date: Mon, 14 Jan 2013 12:54:43 -0500 Subject: Implement importutils.try_import. Adds a new (simple) importutils.try_import function which can return a module name or a default (by default this is None). This should help clean up some of our try: import foo except... blocks in modules. This commit also drops the dependency on python-extras which is no longer needed. Fixes LP Bug #1099501. Change-Id: I8591f79983bdad67a50d1aaae6dce8428dfce084 --- tests/unit/test_importutils.py | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'tests') diff --git a/tests/unit/test_importutils.py b/tests/unit/test_importutils.py index 4c9ff73..3544fe4 100644 --- a/tests/unit/test_importutils.py +++ b/tests/unit/test_importutils.py @@ -109,3 +109,11 @@ class ImportUtilsTest(unittest.TestCase): dt = importutils.import_object('datetime.datetime', 2012, 4, 5) self.assertTrue(isinstance(dt, sys.modules['datetime'].datetime)) self.assertEqual(dt, datetime.datetime(2012, 4, 5)) + + def test_try_import(self): + dt = importutils.try_import('datetime') + self.assertEqual(sys.modules['datetime'], dt) + + def test_try_import_returns_default(self): + foo = importutils.try_import('foo.bar') + self.assertEqual(None, foo) -- cgit