def load_config(self, config): self.config = config self.nickname = config['main'].get('nickname', 'pajbot') self.password = config['main'].get('password', 'abcdef') self.timezone = config['main'].get('timezone', 'UTC') self.trusted_mods = config.getboolean('main', 'trusted_mods') TimeManager.init_timezone(self.timezone) if 'streamer' in config['main']: self.streamer = config['main']['streamer'] self.channel = '#' + self.streamer elif 'target' in config['main']: self.channel = config['main']['target'] self.streamer = self.channel[1:] self.wolfram = None try: if 'wolfram' in config['main']: import wolframalpha self.wolfram = wolframalpha.Client(config['main']['wolfram']) except: pass self.silent = False self.dev = False if 'flags' in config: self.silent = True if 'silent' in config['flags'] and config['flags']['silent'] == '1' else self.silent self.dev = True if 'dev' in config['flags'] and config['flags']['dev'] == '1' else self.dev DBManager.init(self.config['main']['db']) redis_options = {} if 'redis' in config: log.info(config._sections['redis']) redis_options = config._sections['redis'] RedisManager.init(**redis_options)
def time_localize(value): return TimeManager.localize(value)
SocketClientManager.init(config['sock']['sock_file']) twitch = oauth.remote_app( 'twitch', consumer_key=config['webtwitchapi']['client_id'], consumer_secret=config['webtwitchapi']['client_secret'], request_token_params={'scope': 'user_read'}, base_url='https://api.twitch.tv/kraken/', request_token_url=None, access_token_method='POST', access_token_url='https://api.twitch.tv/kraken/oauth2/token', authorize_url='https://api.twitch.tv/kraken/oauth2/authorize', ) DBManager.init(config['main']['db']) TimeManager.init_timezone(config['main'].get('timezone', 'UTC')) with DBManager.create_session_scope() as db_session: custom_web_content = {} for web_content in db_session.query(WebContent).filter(WebContent.content is not None): custom_web_content[web_content.page] = web_content.content errors.init(app) api.config = config modules = config['web'].get('modules', '').split() bot_commands_list = [] from flask import make_response from functools import wraps, update_wrapper
def last_active(self): if self._last_active is None: return None return TimeManager.localize(self._last_active)
def last_seen(self): return TimeManager.localize(self._last_seen)