diff --git a/compendium_v2/publishers/survey_publisher_old_db_2022.py b/compendium_v2/publishers/survey_publisher_old_db_2022.py index b6ceea90718ec04106b43719815aa16c007003c2..2719fbf52e942015df2ddc70697990cf91c9dc3c 100644 --- a/compendium_v2/publishers/survey_publisher_old_db_2022.py +++ b/compendium_v2/publishers/survey_publisher_old_db_2022.py @@ -1199,6 +1199,39 @@ def transfer_network_function_virtualisation(nren_dict): db.session.commit() +def transfer_monitoring_tools(nren_dict): + tools = recursive_query(16672) + tools = {(nren_name, year): json.loads(answer) for answer_id, nren_name, year, answer in tools} + tools_comment = recursive_query(16673) + tools_comment = {(nren_name, year): answer.strip('" ') for answer_id, nren_name, year, answer in tools_comment} + netflow = recursive_query(16674) + netflow = {(nren_name, year): answer.strip('" ') for answer_id, nren_name, year, answer in netflow} + + for nren_name, year in tools.keys() | tools_comment.keys() | netflow.keys(): + if nren_name not in nren_dict: + logger.warning(f'{nren_name} unknown. Skipping.') + continue + + tool_descriptions = tools.get((nren_name, year), []) + comment = tools_comment.get((nren_name, year), "").replace("-", "") + if comment: + tool_descriptions.append(comment) + if "Other" in tool_descriptions: + tool_descriptions.remove("Other") + if "Other " in tool_descriptions: + tool_descriptions.remove("Other ") + + new_entry = presentation_models.MonitoringTools( + nren=nren_dict[nren_name], + nren_id=nren_dict[nren_name].id, + year=year, + tool_descriptions=tool_descriptions, + netflow_processing_description=netflow.get((nren_name, year), "") + ) + db.session.merge(new_entry) + db.session.commit() + + def _cli(app): with app.app_context(): nren_dict = helpers.get_uppercase_nren_dict() @@ -1225,6 +1258,7 @@ def _cli(app): transfer_fibre_light(nren_dict) transfer_network_map_urls(nren_dict) + transfer_monitoring_tools(nren_dict) transfer_traffic_statistics(nren_dict) transfer_siem_vendors(nren_dict) transfer_certificate_providers(nren_dict)