def __init__(self, mongo_db_uri, line_api_wrapper, weather_reporter): self._line_api_wrapper = line_api_wrapper self._weather_reporter = weather_reporter self._weather_config = db.weather_report_config(mongo_db_uri) self._system_stats = db.system_statistics(mongo_db_uri) self._special_keyword = { u'天氣': (self._handle_text_spec_weather, (False, )), u'詳細天氣': (self._handle_text_spec_weather, (True, )) }
def __init__(self, flask_app, config_manager, line_api_wrapper, mongo_client, oxford_api, system_data, webpage_generator, imgur_api_wrapper, oxr_client, string_calculator, weather_reporter, file_tmp_path, rss_data_mgr, last_chat_rec): self._flask_app = flask_app self._config_manager = config_manager self._last_chat_rec = last_chat_rec self._array_separator = param_validator.ARRAY_SEPARATOR self._system_data = system_data self._system_config = db.system_config(mongo_client) self._system_stats = db.system_statistics(mongo_client) self._stk_rec = db.sticker_recorder(mongo_client) self._loop_prev = bot.infinite_loop_preventer( self._config_manager.getint( bot.config_category.SYSTEM, bot.config_category_system.DUPLICATE_CONTENT_BAN_COUNT), self._config_manager.getint( bot.config_category.SYSTEM, bot.config_category_system.UNLOCK_PASSWORD_LENGTH)) self._db_measurement = db.measurement_data_wrapper() self._kwd_public = db.group_dict_manager( mongo_client, config_manager.getint( bot.config_category.KEYWORD_DICT, bot.config_category_kw_dict.CREATE_DUPLICATE), config_manager.getint(bot.config_category.KEYWORD_DICT, bot.config_category_kw_dict.REPEAT_CALL)) self._kwd_global = db.word_dict_global(mongo_client) self._group_manager = db.group_manager(mongo_client) self._oxford_dict = oxford_api self._line_api_wrapper = line_api_wrapper self._webpage_generator = webpage_generator self._imgur_api_wrapper = imgur_api_wrapper self._oxr_client = oxr_client self._string_calculator = string_calculator self._weather_reporter = weather_reporter self._weather_config = db.weather_report_config(mongo_client) self._weather_id_reg = tool.weather.weather_reporter.CITY_ID_REGISTRY self._sticker_dl = tool.line_sticker_downloader(file_tmp_path) self._pli = tool.currency.pypli() self._ctyccy = tool.currency.countries_and_currencies() self._ppp = tool.currency.ppp_manager() self._rss_data_manager = rss_data_mgr self._pymongo_client = mongo_client
def __init__(self, flask_app, mongo_db_uri, max_error_list_output, gmail_api=None): self._system_config = db.system_config(mongo_db_uri) self._flask_app = flask_app self._route_method_name = 'get_webpage' self._error_list_route_name = 'get_error_list' self._max_error_list_output = max_error_list_output self._gmail_api = gmail_api self._system_stats = db.system_statistics(mongo_db_uri) self._content_holder = db.webpage_content_holder(mongo_db_uri)
def __init__(self, mongo_client, line_api_wrapper, weather_reporter): self._line_api_wrapper = line_api_wrapper self._weather_reporter = weather_reporter self._weather_config = db.weather_report_config(mongo_client) self._system_stats = db.system_statistics(mongo_client) self._luck_gen_record = db.sc_gen_data_manager(mongo_client) self._word_dict_global = db.word_dict_global(mongo_client) self._special_keyword = { u'^天氣$': (self._handle_text_spec_weather, (False, )), u'^詳細天氣$': (self._handle_text_spec_weather, (True, )), u'^運勢$': (self._handle_text_spec_luck, ()), u'^運勢(\d+)次$': (self._handle_text_spec_luck, ()), u'^運勢統計$': (self._handle_text_spec_luck_rec, ()), u'^我的運勢$': (self._handle_text_spec_luck_self, ()), u'^時間$': (self._handle_text_spec_time, ()), u'^抽老婆$': (self._handle_text_spec_rand_wife, ()), u'^全刪除ALLCLEAR$': (self._temp_clr_all, ()) }
def get_webpage(seq_id): webpage_data = webpage_generator.get_webpage_data(seq_id) db.system_statistics(mongo_client).webpage_viewed( webpage_data.content_type) return bot.webpage_manager.render_webpage(webpage_data)
def get_error_list(): db.system_statistics(mongo_client).webpage_viewed( db.webpage_content_type.ERROR) return webpage_generator.html_render_error_list( sys_data.boot_up, webpage_generator.get_error_dict())