| from typing import List, Optional, cast |
|
|
| import pandas as pd |
| import solara |
|
|
| data_global_cell_id = [] |
| data_la_cell_name = [] |
| data_wcdma_service_area_number = [] |
| data_wcdma_service_area_name = [] |
|
|
|
|
| class dfs: |
| gsm_core_infos = solara.reactive(cast(Optional[pd.DataFrame], None)) |
| wcdma_core_infos = solara.reactive(cast(Optional[pd.DataFrame], None)) |
|
|
|
|
| def parse_content(all_files): |
|
|
| data_global_cell_id = [] |
| data_la_cell_name = [] |
| data_wcdma_service_area_number = [] |
| data_wcdma_service_area_name = [] |
|
|
| for file in all_files: |
| all_data_global_cell_id = [] |
| all_data_la_cell_name = [] |
| all_data_wcdma_service_area_number = [] |
| all_data_wcdma_service_area_name = [] |
| content = file.decode("utf-8").splitlines() |
|
|
| for line in content: |
| if "Global cell ID" in line: |
| data_global_cell_id.append([line.split("=")[1].strip()]) |
| elif "LA cell name" in line: |
| data_la_cell_name.append([line.split("=")[1].strip()]) |
| elif "3G service area number" in line: |
| data_wcdma_service_area_number.append([line.split("=")[1].strip()]) |
| elif "3G service area name" in line: |
| data_wcdma_service_area_name.append([line.split("=")[1].strip()]) |
|
|
| |
| all_data_global_cell_id.extend(data_global_cell_id) |
| all_data_la_cell_name.extend(data_la_cell_name) |
| all_data_wcdma_service_area_number.extend(data_wcdma_service_area_number) |
| all_data_wcdma_service_area_name.extend(data_wcdma_service_area_name) |
|
|
| |
| df_global_cell_id = pd.DataFrame( |
| all_data_global_cell_id, columns=["Global cell ID"] |
| ) |
| df_la_cell_name = pd.DataFrame(all_data_la_cell_name, columns=["LA cell name"]) |
| df_wcdma_service_area_number = pd.DataFrame( |
| all_data_wcdma_service_area_number, columns=["3G service area number"] |
| ) |
| df_wcdma_service_area_name = pd.DataFrame( |
| all_data_wcdma_service_area_name, columns=["3G service area name"] |
| ) |
|
|
| |
| df_global_cell_id.insert(0, "index", range(0, len(df_global_cell_id))) |
| df_la_cell_name.insert(0, "index", range(0, len(df_la_cell_name))) |
| df_wcdma_service_area_number.insert( |
| 0, "index", range(0, len(df_wcdma_service_area_number)) |
| ) |
| df_wcdma_service_area_name.insert( |
| 0, "index", range(0, len(df_wcdma_service_area_name)) |
| ) |
|
|
| |
| df_la_cell_name = df_la_cell_name.merge(df_global_cell_id, on="index") |
|
|
| |
| df_wcdma_service_area_name = df_wcdma_service_area_name.merge( |
| df_wcdma_service_area_number, on="index" |
| ) |
|
|
| df_la_cell_name["LAC_ID"] = df_la_cell_name["Global cell ID"].str[5:] |
| df_wcdma_service_area_name["LAC_ID"] = df_wcdma_service_area_name[ |
| "3G service area number" |
| ].str[5:] |
| df_la_cell_name["LAC"] = df_la_cell_name["LAC_ID"].str[:4] |
| df_la_cell_name["Cell ID"] = df_la_cell_name["LAC_ID"].str[4:] |
| df_wcdma_service_area_name["LAC"] = df_wcdma_service_area_name["LAC_ID"].str[:4] |
| df_wcdma_service_area_name["Cell ID"] = df_wcdma_service_area_name["LAC_ID"].str[4:] |
|
|
| |
| df_la_cell_name["LAC_DECIMAL"] = df_la_cell_name["LAC"].apply(lambda x: int(x, 16)) |
| df_la_cell_name["Cell_ID_DECIMAL"] = df_la_cell_name["Cell ID"].apply( |
| lambda x: int(x, 16) |
| ) |
| df_wcdma_service_area_name["LAC_DECIMAL"] = df_wcdma_service_area_name["LAC"].apply( |
| lambda x: int(x, 16) |
| ) |
| df_wcdma_service_area_name["Cell_ID_DECIMAL"] = df_wcdma_service_area_name[ |
| "Cell ID" |
| ].apply(lambda x: int(x, 16)) |
|
|
| df_la_cell_name = df_la_cell_name.reset_index(drop=True) |
|
|
| dfs.gsm_core_infos.value = df_la_cell_name |
| dfs.wcdma_core_infos.value = df_wcdma_service_area_name |
|
|