Ejemplo n.º 1
0
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}
Ejemplo n.º 2
0
    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)
Ejemplo n.º 3
0
    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()