summaryrefslogtreecommitdiffstats
path: root/src/nbblib/plugins.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/nbblib/plugins.py')
-rw-r--r--src/nbblib/plugins.py15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/nbblib/plugins.py b/src/nbblib/plugins.py
index 8131426..465df39 100644
--- a/src/nbblib/plugins.py
+++ b/src/nbblib/plugins.py
@@ -38,7 +38,7 @@ class MyPluginType(p.GenericDetectPlugin):
[ambigous_match_exception = ...]
[
@classmethod
- def validate(cls, obj, *args, **kwargs):
+ def validate(cls, obj, context, *args, **kwargs):
return True # or False, depending on params
]
@@ -243,7 +243,7 @@ class GenericDetectPlugin(object):
Example:
>>> class FooDetectPlugin(GenericDetectPlugin):
... @classmethod
- ... def validate(cls, obj, foo, bar):
+ ... def validate(cls, obj, context, foo, bar):
... return cls.__name__ == 'A'
...
>>> class FooDetectPluginA(FooDetectPlugin):
@@ -265,9 +265,10 @@ class GenericDetectPlugin(object):
self.context = context
@classmethod
- def validate(cls, obj, *args, **kwargs):
+ def validate(cls, obj, context, *args, **kwargs):
"""Override this in subclass to validate the given args
+ @context Context information
@param cls subclass of GenericDetectPlugin and type of obj
@param obj instance of cls which is to be validated
@param args the same args as given to detect()
@@ -298,7 +299,7 @@ class GenericDetectPlugin(object):
t = klass(context, *args, **kwargs)
logging.debug("KLASS %s unvalidated, %s", klass,
klass.validate)
- if klass.validate(t, *args, **kwargs):
+ if klass.validate(t, context, *args, **kwargs):
logging.debug("KLASS %s validated", klass)
matches[key] = t
except PluginNoMatch, e:
@@ -326,7 +327,7 @@ def selftest():
no_match_exception = PluginNoMatchA
ambigous_match_exception = AmbigousPluginDetectionA
@classmethod
- def validate(cls, obj, *args, **kwargs):
+ def validate(cls, obj, context, *args, **kwargs):
logging.debug("Aval")
return False
@@ -338,7 +339,7 @@ def selftest():
class TestDetectPluginC(GenericDetectPlugin):
__metaclass__ = GenericPluginMeta
@classmethod
- def validate(cls, obj, *args, **kwargs):
+ def validate(cls, obj, context, *args, **kwargs):
logging.debug("Cval")
return False
@@ -364,7 +365,7 @@ def selftest():
class TestDetectPluginC3(TestDetectPluginC):
name = "C3"
@classmethod
- def validate(cls, obj, *args, **kwargs):
+ def validate(cls, obj, context, *args, **kwargs):
logging.debug("C3val")
return True