__author__ = 'Wendell Jones' import configparser import os import time class Config(object): global ROOTDIR def __init__(self, ROOTDIR): self.config_options = {} self.configurer = configparser.ConfigParser() self.read_settings(ROOTDIR) def read_settings(self, ROOTDIR): if os.name == 'nt': self.configurer.read(ROOTDIR + '\\settings\\tvsync_settings.cfg') else: self.configurer.read(ROOTDIR + '/settings/tvsync_settings.cfg') print(f"Reading configuration file from {ROOTDIR}/settings") self.set_data() self.get_data() def set_data(self): self.config_options['loglevel'] = self.configurer.get('global', 'loglevel') self.config_options['hostname'] = self.configurer.get('dbsettings', 'hostname') self.config_options['mghostname'] = self.configurer.get('dbsettings', 'mghostname') self.config_options['dbname'] = self.configurer.get('dbsettings', 'dbname') self.config_options['mgdbname'] = self.configurer.get('dbsettings', 'mgdbname') self.config_options['mysqlusername'] = self.configurer.get('dbsettings', 'mysqlusername') self.config_options['pgsqlusername'] = self.configurer.get('dbsettings', 'pgsqlusername') self.config_options['mssqlusername'] = self.configurer.get('dbsettings', 'mssqlusername') self.config_options['mysqlpassword'] = self.configurer.get('dbsettings', 'mysqlpassword') self.config_options['pgsqlpassword'] = self.configurer.get('dbsettings', 'pgsqlpassword') self.config_options['mssqlpassword'] = self.configurer.get('dbsettings', 'mssqlpassword') self.config_options['pgsqlport'] = self.configurer.get('dbsettings', 'pgsqlport') self.config_options['mysqlport'] = self.configurer.get('dbsettings', 'mysqlport') self.config_options['mssqlport'] = self.configurer.get('dbsettings', 'mssqlport') self.config_options['mgport'] = self.configurer.get('dbsettings', 'mgport') self.config_options['updatetype'] = self.configurer.get('updatetype', 'type') self.config_options['apitype'] = self.configurer.get('api', 'type') self.config_options['updateschema'] = self.configurer.get('database', 'updateschema') self.config_options['dbtype'] = self.configurer.get('database', 'dbtype') self.config_options['initdb'] = self.configurer.get('database', 'initialize') self.config_options['initload'] = self.configurer.get('database', 'initload') self.config_options['skipcache'] = self.configurer.get('updatetype', 'cacheskip') self.config_options['refreshcache'] = self.configurer.get('updatetype', 'refreshcache') self.config_options['full'] = self.configurer.get('updatetype', 'full') self.config_options['monthly'] = self.configurer.get('updatetype', 'monthly') self.config_options['weekly'] = self.configurer.get('updatetype', 'weekly') self.config_options['daily'] = self.configurer.get('updatetype', 'daily') self.config_options['12h'] = self.configurer.get('updatetype', '12h') self.config_options['6h'] = self.configurer.get('updatetype', '6h') self.config_options['custom'] = self.configurer.get('updatetype', 'custom') self.config_options['serieslist'] = list() self.config_options['timedifference'] = self.configurer.get('updatetype', self.config_options['updatetype']) self.config_options['current_timestamp'] = time.time() if self.config_options['timedifference'].lower() == 'full': self.config_options['timedifference'] = int(self.config_options['current_timestamp']) def get_data(self): return self.config_options def __del__(self): pass