import os import sys import yaml class Plugin(object): def __init__(self): for cls in reversed(self.__class__.mro()): if cls is not object: try: cls._init(self) except AttributeError as e: pass def _init(self): module_dir = os.path.dirname(sys.modules[self.__module__].__file__) config_file = module_dir + os.sep + 'config.yaml' config = {} try: with open(config_file, 'r') as f: self.config = yaml.load(f) except FileNotFoundError as e: pass def run(self, args): raise NotImplementedError() # vim:sw=4:ts=4:et: