diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2015-01-24 17:08:03 -0500 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2015-01-24 17:08:03 -0500 |
commit | 2e222d053da16a7b2c84b2d7ee8203c759f477c7 (patch) | |
tree | bdf642cf3376e1766fdb9b23d69edeb355e39a7f /coverage/misc.py | |
parent | cbf837bbe4a44be70935b8bb4163bed7083debe4 (diff) | |
download | python-coveragepy-2e222d053da16a7b2c84b2d7ee8203c759f477c7.tar.gz |
Move a helper from plugin.py to misc.py
Diffstat (limited to 'coverage/misc.py')
-rw-r--r-- | coverage/misc.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/coverage/misc.py b/coverage/misc.py index 02fb10e..17fb3df 100644 --- a/coverage/misc.py +++ b/coverage/misc.py @@ -162,6 +162,24 @@ def overrides(obj, method_name, base_class): return klass_func is not base_func +# TODO: abc? +def _needs_to_implement(that, func_name): + """Helper to raise NotImplementedError in interface stubs.""" + if hasattr(that, "plugin_name"): + thing = "Plugin" + name = that.plugin_name + else: + thing = "Class" + klass = that.__class__ + name = "{klass.__module__}.{klass.__name__}".format(klass=klass) + + raise NotImplementedError( + "{thing} {name!r} needs to implement {func_name}()".format( + thing=thing, name=name, func_name=func_name + ) + ) + + class CoverageException(Exception): """An exception specific to Coverage.""" pass |