Force plugins to use the contexts they were given. Also allow the framework to determine requirements without instantiating the plugin.

This commit is contained in:
Mike Auty
2015-04-07 13:35:39 -05:00
parent ec1529dcb9
commit bf324d0c71
+4 -3
View File
@@ -33,16 +33,17 @@ class PluginInterface(validity.ValidityRoutines, metaclass = ABCMeta):
return self._context
@abstractmethod
def requirements(self):
@classmethod
def requirements(cls):
"""Returns a list of requirements options"""
pass
return []
def check_requirements(self):
for requirement in self.requirements():
requirement.check_value(requirement.value, self._context)
@abstractmethod
def __call__(self, context):
def __call__(self):
"""Executes the functionality of the code
@:param