diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2013-10-20 08:05:24 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2013-10-20 08:05:24 -0400 |
commit | 8c3cddefe07e25d96d9e9c4d7ea24b345d88eeec (patch) | |
tree | 09595828424bddc87b01036d218cdb826bf012d7 /coverage/execfile.py | |
parent | 6b6a4488adc12d390c5e0c8f13829dd9bf125309 (diff) | |
download | python-coveragepy-git-8c3cddefe07e25d96d9e9c4d7ea24b345d88eeec.tar.gz |
try/except/finally is ok now.
--HG--
branch : 4.0
Diffstat (limited to 'coverage/execfile.py')
-rw-r--r-- | coverage/execfile.py | 55 |
1 files changed, 27 insertions, 28 deletions
diff --git a/coverage/execfile.py b/coverage/execfile.py index 71ec9318..aec65343 100644 --- a/coverage/execfile.py +++ b/coverage/execfile.py @@ -31,35 +31,34 @@ def run_python_module(modulename, args): openfile = None glo, loc = globals(), locals() try: - try: - # Search for the module - inside its parent package, if any - using - # standard import mechanics. - if '.' in modulename: - packagename, name = rsplit1(modulename, '.') - package = __import__(packagename, glo, loc, ['__path__']) - searchpath = package.__path__ - else: - packagename, name = None, modulename - searchpath = None # "top-level search" in imp.find_module() + # Search for the module - inside its parent package, if any - using + # standard import mechanics. + if '.' in modulename: + packagename, name = rsplit1(modulename, '.') + package = __import__(packagename, glo, loc, ['__path__']) + searchpath = package.__path__ + else: + packagename, name = None, modulename + searchpath = None # "top-level search" in imp.find_module() + openfile, pathname, _ = imp.find_module(name, searchpath) + + # Complain if this is a magic non-file module. + if openfile is None and pathname is None: + raise NoSource( + "module does not live in a file: %r" % modulename + ) + + # If `modulename` is actually a package, not a mere module, then we + # pretend to be Python 2.7 and try running its __main__.py script. + if openfile is None: + packagename = modulename + name = '__main__' + package = __import__(packagename, glo, loc, ['__path__']) + searchpath = package.__path__ openfile, pathname, _ = imp.find_module(name, searchpath) - - # Complain if this is a magic non-file module. - if openfile is None and pathname is None: - raise NoSource( - "module does not live in a file: %r" % modulename - ) - - # If `modulename` is actually a package, not a mere module, then we - # pretend to be Python 2.7 and try running its __main__.py script. - if openfile is None: - packagename = modulename - name = '__main__' - package = __import__(packagename, glo, loc, ['__path__']) - searchpath = package.__path__ - openfile, pathname, _ = imp.find_module(name, searchpath) - except ImportError: - _, err, _ = sys.exc_info() - raise NoSource(str(err)) + except ImportError: + _, err, _ = sys.exc_info() + raise NoSource(str(err)) finally: if openfile: openfile.close() |