Skip to content

Instantly share code, notes, and snippets.

@lmeulen
Last active June 1, 2021 12:36
Show Gist options
  • Save lmeulen/4ffaa5eb2febdb6c40d23975f2e83518 to your computer and use it in GitHub Desktop.
Save lmeulen/4ffaa5eb2febdb6c40d23975f2e83518 to your computer and use it in GitHub Desktop.
Screens_basescript
import sys, logging, utils
from importlib import import_module
from logging.handlers import RotatingFileHandler
CONFIG_FILE = 'systems.cred'
if __name__ == '__main__':
logger = logging.getLogger('home automation')
logger.setLevel(logging.DEBUG)
fh = RotatingFileHandler('script.log', mode='a', maxBytes=10485760, backupCount=2)
fh.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s - {%(filename)21s:%(lineno)3d} - %(levelname)5s - %(message)s')
fh.setFormatter(formatter)
logger.addHandler(fh)
logger.debug("======================== Starting scripts ========================")
config = utils.get_config(CONFIG_FILE)
for s in config['scripts']:
imported_module = import_module(s['name'])
if "run" in dir(imported_module):
try:
action = getattr(imported_module, "run")(config)
except:
logger.error("Error " + sys.exc_info()[0] + " occurred in " + s)
logger.debug("============================ The End =============================")
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment