コード例 #1
0
    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, ))
        }
コード例 #2
0
    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
コード例 #3
0
    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)
コード例 #4
0
    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, ())
        }
コード例 #5
0
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)
コード例 #6
0
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())