def process(input_doc_map, output_doc_map): # docid = input_doc_map["_id"] if "py_date" in input_doc_map: output_doc_map["date"] = input_doc_map["py_date"] if settings.CAT_CLASS in input_doc_map: output_doc_map[settings.CAT_CLASS] = list(set(input_doc_map[settings.CAT_CLASS])) if settings.CAT_SCORE in input_doc_map: output_doc_map[settings.CAT_SCORE] = input_doc_map[settings.CAT_SCORE] if output_doc_map["evergreen_score"] > 0: # this should be guaranteed unless in reprocessing add_cat_class_score(output_doc_map, settings.EVERGREEN_NEXT_CATCLASS, output_doc_map["evergreen_score"]) add_document_boost_score(output_doc_map, settings.get_evergreen_next_id(), output_doc_map["evergreen_score"] * settings.BOOST_RATE) else: if settings.BOOST_SCORE_KEY in input_doc_map: output_doc_map[settings.BOOST_SCORE_KEY] = input_doc_map[settings.BOOST_SCORE_KEY] remove_document_boost(output_doc_map, settings.get_social_id()) remove_cat_and_score(output_doc_map, settings.SOCIAL_TRENDING_CATCLASS) return True