Beispiel #1
0
 def __init__(self, config: MutableMapping) -> None:
     self.config = config
     self.dataset_conf_id, self.target_ds_structure, self.ds_meta = None, None, None
     if self.config.experiment.db_functionality_enabled:
         self.cnxp = get_cnxp_handle()
         if not self.config.data_source.skip_db_refresh:
             refresh_db(self.config.data_source.db_conf, self.cnxp)
     self.device = utils.core_utils.device_config(self.config)
     self.dataset_conf = self.init_dataset_conf()
     self.base_falsehood_embed_cache = Path(
         f'{self.config.experiment.dirs.model_cache_dir}/'
         f'{constants.BASE_FALSEHOOD_EMBED_CACHE_NAME}')
     self.base_truth_embed_cache = Path(
         f'{self.config.experiment.dirs.model_cache_dir}/'
         f'{constants.BASE_TRUTH_EMBED_CACHE_NAME}')
     self.falsehood_embed_cache = Path(
         f'{self.config.experiment.dirs.model_cache_dir}/'
         f'{constants.FALSEHOOD_EMBED_CACHE_NAME}')
     self.truth_embed_cache = Path(
         f'{self.config.experiment.dirs.model_cache_dir}/'
         f'{constants.TRUTH_EMBED_CACHE_NAME}')
     self.file_suffix = self.config.data_source.file_suffix
     if self.config.data_source.update_ds_db_metadata_only and self.config.experiment.db_functionality_enabled:
         self.update_ds_db_metadata()
     else:
         # build dataset from DB if a cached file version doesn't already exist
         self.load_datasets()
 def batch_inference(self) -> None:
     if not self.config.experiment.infsvc.skip_db_refresh:
         refresh_db(self.config.data_source.db_conf,
                    self.cnxp,
                    self.infsvc_dbconf,
                    self.svc_auth['twitter'],
                    batch_infsvc=True)
     self.publish_flow()
 def update_non_twit_sources(self):
     refresh_db(self.config.data_source.db_conf,
                self.cnxp,
                self.infsvc_dbconf,
                api_handle=self.svc_auth['twitter'],
                nontwtr_update=True)
     update_nt = False
     last_nt_update_cnt = 0
     return update_nt, last_nt_update_cnt
Beispiel #4
0
 def update_non_twit_sources(self):
     refresh_db(self.config.data_source.db_conf,
                self.cnxp,
                self.tweetbot_dbconf,
                api_handle=self.api,
                nontwtr_update=True)
     update_nt = False
     last_nt_update_cnt = 0
     self.maybe_publish('stmts')
     return update_nt, last_nt_update_cnt
Beispiel #5
0
 def poll_and_analyze(self) -> NoReturn:
     last_nt_update_cnt = 0
     update_nt = True
     while True:
         self.verify_date()
         self.purge_old_reports()
         if self.non_twitter_updatefreq and update_nt:
             update_nt, last_nt_update_cnt = self.update_non_twit_sources()
         refresh_db(self.config.data_source.db_conf, self.cnxp,
                    self.tweetbot_dbconf, self.api)
         self.maybe_publish('tweets')
         time.sleep(self.config.experiment.tweetbot.dcbot_poll_interval)
         if self.non_twitter_updatefreq:
             last_nt_update_cnt += 1
             if last_nt_update_cnt >= self.non_twitter_updatefreq:
                 update_nt = True
 def poll_and_analyze(self) -> NoReturn:
     last_nt_update_cnt = 0
     update_nt = True
     twitter_enabled = self.config.experiment.infsvc.twitter_enabled
     while True:
         if self.non_twitter_updatefreq and update_nt:
             update_nt, last_nt_update_cnt = self.update_non_twit_sources()
         if twitter_enabled:
             refresh_db(self.config.data_source.db_conf, self.cnxp,
                        self.infsvc_dbconf, self.svc_auth['twitter'])
         self.publish_flow()
         time.sleep(self.config.experiment.infsvc.dcbot_poll_interval)
         if self.non_twitter_updatefreq:
             last_nt_update_cnt += 1
             if last_nt_update_cnt >= self.non_twitter_updatefreq:
                 update_nt = True