import os import sys src_directory = os.path.abspath(os.path.join(os.path.dirname(__file__), "../..", "main")) sys.path.append(src_directory) import requests_app def display_contents(option, streamlit): try: cont = requests_app.get_api(option) continents = streamlit.table(cont) return continents except Exception as e: streamlit.error(f"An error occurred while processing the CSV: {e}") def get_list(option): data = requests_app.get_api(option) return data["Country"].values() def choose_data_to_view(st_interface): choosen_option = st_interface.sidebar.selectbox( "Data Insights", options=[ "Select an option", "Show All Continents", "Show Continent Wise Data", "Show Continent Stats", "Show All Countries", "Show Country Data" , "Show Country Stats", "Upload Custom CSV" ] ) if choosen_option == "Select an option": return None return choosen_option def choose_data_from_list(st_interface,list_option): choosen_option = st_interface.sidebar.selectbox( "Options",list_option) return choosen_option def choose_stat_to_view(st_interface): stat_options = ["Select an option","highest","lowest"] selected_option = st_interface.sidebar.selectbox("Select Stat to Display", stat_options) return selected_option def choose_attribute_to_view(st_interface): attribute_options = ["Select an option","Population", "Area"] selected_option = st_interface.sidebar.selectbox("Select Attribute to Display", attribute_options) return selected_option def display_stats(streamlit,choosen_data): clean_choosen_data = choosen_data.replace(" ", "") attribute = choose_attribute_to_view(streamlit) if attribute in ["Population","Area"] : stat = choose_stat_to_view(streamlit) if stat in ["highest" , "lowest"]: option = f"{clean_choosen_data}/{attribute}/{stat}" display_contents(option,streamlit)