Source code for haas.plugins.i_hook_plugin

# -*- coding: utf-8 -*-
# Copyright (c) 2013-2014 Simon Jagoe
# All rights reserved.
#
# This software may be modified and distributed under the terms
# of the 3-clause BSD license.  See the LICENSE.txt file for details.
from __future__ import absolute_import, unicode_literals

import abc

from six import add_metaclass

from haas.utils import abstractclassmethod


[docs]@add_metaclass(abc.ABCMeta) class IHookPlugin(object):
[docs] @abc.abstractmethod def setup(self): # pragma: no cover pass
[docs] @abc.abstractmethod def teardown(self): # pragma: no cover pass
[docs] @abstractclassmethod def add_parser_arguments(cls, parser, name, option_prefix, dest_prefix): pass
[docs] @abstractclassmethod def from_args(cls, args, dest_prefix): pass