platypush/platypush/plugins/__init__.py

29 lines
711 B
Python
Raw Normal View History

import os
import sys
2017-12-11 03:53:26 +01:00
import logging
2017-10-31 09:20:35 +01:00
class Plugin(object):
2017-11-03 15:06:29 +01:00
def __init__(self, config):
self.config = config
2017-12-11 03:53:26 +01:00
self._set_logging()
2017-11-03 15:06:29 +01:00
for cls in reversed(self.__class__.mro()):
if cls is not object:
try:
cls._init(self)
except AttributeError as e:
pass
2017-12-11 03:53:26 +01:00
def _set_logging(self):
if 'logging' in self.config:
logging.basicConfig(level=getattr(logging, self.config['logging']))
else:
logging.basicConfig(level=logging.INFO)
def run(self, method, *args, **kwargs):
res = getattr(self, method)(*args, **kwargs)
return res
2017-10-31 09:20:35 +01:00
# vim:sw=4:ts=4:et: