diff --git a/compendium_v2/publishers/survey_publisher_old_db_2022.py b/compendium_v2/publishers/survey_publisher_old_db_2022.py index 5c72d1c52e17e475bd42d2573a9fb023e39c6570..b6ceea90718ec04106b43719815aa16c007003c2 100644 --- a/compendium_v2/publishers/survey_publisher_old_db_2022.py +++ b/compendium_v2/publishers/survey_publisher_old_db_2022.py @@ -1167,6 +1167,38 @@ def transfer_network_automation(nren_dict): db.session.commit() +def transfer_network_function_virtualisation(nren_dict): + rows = recursive_query(16754) + types = recursive_query(16755) + types = {(nren_name, year): json.loads(answer) for answer_id, nren_name, year, answer in types} + types_comment = recursive_query(16756) + types_comment = {(nren_name, year): answer.strip('" ') for answer_id, nren_name, year, answer in types_comment} + + for answer_id, nren_name, year, answer in rows: + if nren_name not in nren_dict: + logger.warning(f'{nren_name} unknown. Skipping.') + continue + + nfv = YesNoPlanned[answer.strip('"').lower()] + specifics = types.get((nren_name, year), []) + specifics = [s for s in specifics if s] + comment = types_comment.get((nren_name, year), "").replace("-", "") + if comment: + specifics.append(comment) + if "Other" in specifics: + specifics.remove("Other") + + new_entry = presentation_models.NetworkFunctionVirtualisation( + nren=nren_dict[nren_name], + nren_id=nren_dict[nren_name].id, + year=year, + nfv=nfv, + nfv_specifics=specifics + ) + db.session.merge(new_entry) + db.session.commit() + + def _cli(app): with app.app_context(): nren_dict = helpers.get_uppercase_nren_dict() @@ -1200,7 +1232,8 @@ def _cli(app): transfer_pert_team(nren_dict) transfer_alien_wave(nren_dict) transfer_external_connections(nren_dict) - # traffic ratio was freeform text + # traffic ratio was freeform text so we don't transfer it + transfer_network_function_virtualisation(nren_dict) transfer_network_automation(nren_dict)