From e3ec6ed046f33edcfa7f0b03d1a22dc607149d4c Mon Sep 17 00:00:00 2001 From: Ned Batchelder Date: Sat, 24 Jan 2015 17:08:03 -0500 Subject: Move a helper from plugin.py to misc.py --- coverage/misc.py | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'coverage/misc.py') diff --git a/coverage/misc.py b/coverage/misc.py index 02fb10ef..17fb3df9 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 -- cgit v1.2.1