diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2009-05-05 07:08:22 -0400 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2009-05-05 07:08:22 -0400 |
commit | dfee1b663293136f3f3532a7966c2dddc5ef6a0c (patch) | |
tree | eabf9ca467388ad8d7cfae6940d79f8817c0f8b8 /coverage/__init__.py | |
parent | 7ee3eed7c36bce6673e2d07afe80a157b8ff2f56 (diff) | |
download | python-coveragepy-dfee1b663293136f3f3532a7966c2dddc5ef6a0c.tar.gz |
Simplify the singleton machinations in the package __init__. Fewer lines of code, and more introspectable.
Diffstat (limited to 'coverage/__init__.py')
-rw-r--r-- | coverage/__init__.py | 27 |
1 files changed, 11 insertions, 16 deletions
diff --git a/coverage/__init__.py b/coverage/__init__.py index 09b1567..2b67438 100644 --- a/coverage/__init__.py +++ b/coverage/__init__.py @@ -7,8 +7,6 @@ http://nedbatchelder.com/code/modules/coverage.html __version__ = "3.0b3" # see detailed history in CHANGES -import sys - from coverage.control import coverage from coverage.data import CoverageData from coverage.cmdline import main, CoverageScript @@ -24,25 +22,22 @@ from coverage.misc import CoverageException # created as needed when one of the module-level functions is called. _the_coverage = None -def call_singleton_method(name, args, kwargs): +def _call_singleton_method(name, args, kwargs): global _the_coverage if not _the_coverage: _the_coverage = coverage() return getattr(_the_coverage, name)(*args, **kwargs) -mod_funcs = """ - use_cache start stop erase exclude - analysis analysis2 report annotate annotate_file - """ - -coverage_module = sys.modules[__name__] - -for func_name in mod_funcs.split(): - # Have to define a function here to make a closure so the function name - # is locked in. - def func(name): - return lambda *a, **kw: call_singleton_method(name, a, kw) - setattr(coverage_module, func_name, func(func_name)) +# Define the module-level functions. +use_cache = lambda *a, **kw: _call_singleton_method('use_cache', a, kw) +start = lambda *a, **kw: _call_singleton_method('start', a, kw) +stop = lambda *a, **kw: _call_singleton_method('stop', a, kw) +erase = lambda *a, **kw: _call_singleton_method('erase', a, kw) +exclude = lambda *a, **kw: _call_singleton_method('exclude', a, kw) +analysis = lambda *a, **kw: _call_singleton_method('analysis', a, kw) +analysis2 = lambda *a, **kw: _call_singleton_method('analysis2', a, kw) +report = lambda *a, **kw: _call_singleton_method('report', a, kw) +annotate = lambda *a, **kw: _call_singleton_method('annotate', a, kw) # COPYRIGHT AND LICENSE |