diff options
Diffstat (limited to 'dotbot/plugin.py')
-rw-r--r-- | dotbot/plugin.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/dotbot/plugin.py b/dotbot/plugin.py new file mode 100644 index 0000000..a79639e --- /dev/null +++ b/dotbot/plugin.py @@ -0,0 +1,24 @@ +from .messenger import Messenger + +class Plugin(object): + ''' + Abstract base class for commands that process directives. + ''' + + def __init__(self, base_directory): + self._base_directory = base_directory + self._log = Messenger() + + def can_handle(self, directive): + ''' + Returns true if the Plugin can handle the directive. + ''' + raise NotImplementedError + + def handle(self, directive, data): + ''' + Executes the directive. + + Returns true if the Plugin successfully handled the directive. + ''' + raise NotImplementedError |