from config import Config
from functions import load_news_meta
def logging_setup():
    logging.basicConfig(
        format='%(asctime)s | %(levelname)s | %(name)s: %(message)s',
        level=logging.INFO, datefmt='%m-%d %H:%M:%S'
    )

if __name__ == '__main__':
    logging_setup()
    logging.info('=============== Lauch Recommender ===============')

    recommender = Recommender(Config=Config)
    recommender.load_vec_pool()
    recommender.load_news_history()
    recommender.build_annoy_indexer()
    news_meta_dict = None

    while True:
        inputValue = input("user_id,news_id,realtime(y/n),items,by_annoy: ")

        if inputValue == 'stop':
            break

        if inputValue == 'demo':
            user_id, user_vec = random.choice(list(recommender.user_vec_pool.items()))
            news_id, news_vec = random.choice(list(recommender.news_vec_pool.items()))
            r_list_u = recommender.get_ranking_list_by_both(user_id, news_id, True, 10, False)                                   
            print("\n - user_id:{u_id}".format(u_id=user_id))
            print(" - news_id:{n_id}".format(n_id=news_id))
            print(" - rec_list:", r_list_u, "\n")