From 8e2f2b9b207ba4615cb0fb49d29ff65203aad279 Mon Sep 17 00:00:00 2001 From: Doug Zongker Date: Wed, 24 Jun 2009 14:34:57 -0700 Subject: [PATCH] ignore missing/bad device-specific releasetools modules If we fail to load the device-specific releasetools module (ie, if -s is specified but the file is missing), issue an error message but continue without any device-specific code. --- tools/releasetools/common.py | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/tools/releasetools/common.py b/tools/releasetools/common.py index 033e80e1e..4174db535 100644 --- a/tools/releasetools/common.py +++ b/tools/releasetools/common.py @@ -432,17 +432,18 @@ class DeviceSpecificParams(object): if self.module is None: path = OPTIONS.device_specific if path is None: return - if os.path.isdir(path): - info = imp.find_module("releasetools", [path]) - else: - d, f = os.path.split(path) - b, x = os.path.splitext(f) - if x == ".py": - f = b - info = imp.find_module(f, [d]) - if not info or info[0] is None: - raise ValueError("unable to find device-specific module") - self.module = imp.load_module("device_specific", *info) + try: + if os.path.isdir(path): + info = imp.find_module("releasetools", [path]) + else: + d, f = os.path.split(path) + b, x = os.path.splitext(f) + if x == ".py": + f = b + info = imp.find_module(f, [d]) + self.module = imp.load_module("device_specific", *info) + except ImportError: + print "unable to load device-specific module; assuming none" def _DoCall(self, function_name, *args, **kwargs): """Call the named function in the device-specific module, passing