def main(argv): if len(argv) < 2: msg = "You must specify the environment, " \ "the product id (or --all, or --resume) and the number of days (or --complete) if using --all." log.error(msg) return {"success": False, "message": msg} try: # command-line arguments env = argv[0] product_id = argv[1] session = init_session(env) if product_id == "--all": if argv[2] == "--complete": days = None else: days = int(argv[2]) maintenance.process_products(session, days) elif product_id == "--resume": maintenance.process_products(session, resume=True) else: if len(argv) == 3 and argv[2] == '--force': force = True else: force = False maintenance.process_product(session, product_id, force_update=force) except Exception: log.exception('Exception on {0}:'.format(__name__)) return {"success": False, "message": traceback.format_exc()} return {"success": True}
def test_tfidf_repeated_calls(self): """ Tests the df of (language, term) pairs after processing a same document several times. """ maintenance.process_products(self.session_context) maintenance.process_product(self.session_context, "p_mus_4") maintenance.process_product(self.session_context, "p_mus_4") tfidf_by_term = self.db_proxy.fetch_tfidf_map(self.text_field, ["p_mus_4"]).get("p_mus_4", {}) nose.tools.ok_(abs(tfidf_by_term.get("músic") - 1) < tests.FLOAT_DELTA)
def setup_class(cls): cls.session_context = tests.init_session() cls.db_proxy = cls.session_context.data_proxy cls.db_proxy.drop_database() cls.db_proxy.ensure_indexes(create_ttl_indexes=False) cls.session_context.history_decay_function_name = None cls.session_context.product_age_decay_function_name = None # Populate the database dp.populate_products(cls.session_context) tasks.process_products(cls.session_context) dp.populate_users(cls.session_context) dp.populate_activities(cls.session_context) dp.populate_impressions(cls.session_context) # Make a backup of the database so that after each test we can send it back to its original state cls.db_proxy.backup_database()