File size: 1,876 Bytes
939b332 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 |
import time
import streamlit as st
from queries.process_gsm import process_gsm_data
from queries.process_lte import process_lte_data
from queries.process_wcdma import process_wcdma_data
from utils.utils_vars import UtilsVars
st.title("Database processing")
uploaded_file = st.file_uploader("Upload updated dump file", type="xlsb")
def process_database(process_func, database_type):
if uploaded_file is not None:
start_time = time.time()
process_func(uploaded_file)
execution_time = time.time() - start_time
st.write(
f"{database_type} database is generated. Execution time: {execution_time:.2f} seconds"
)
download_button(database_type)
def download_button(database_type):
if database_type == "2G":
data = UtilsVars.final_gsm_database
file_name = f"2G database_{time.time()}.xlsx"
elif database_type == "3G":
data = UtilsVars.final_wcdma_database
file_name = f"3G database_{time.time()}.xlsx"
elif database_type == "LTE":
data = UtilsVars.final_lte_database
file_name = f"LTE database_{time.time()}.xlsx"
st.download_button(
label=f"Download {database_type} Database File",
data=data,
file_name=file_name,
mime="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
)
col1, col2, col3 = st.columns(3)
if uploaded_file is not None:
with col1:
st.button(
"Generate 2G Database",
on_click=lambda: process_database(process_gsm_data, "2G"),
)
with col2:
st.button(
"Generate 3G Database",
on_click=lambda: process_database(process_wcdma_data, "3G"),
)
with col3:
st.button(
"Generate LTE Database",
on_click=lambda: process_database(process_lte_data, "LTE"),
)
|