Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| from utils import set_algorithm_name, get_pdf_iframe | |
| from menu import display_pages_menu | |
| from country_by_country.utils.constants import ( | |
| JURIDICTIONS, | |
| CURRENCIES, | |
| SECTORS, | |
| COMPANIES, | |
| ) | |
| from Levenshtein import distance | |
| import sys | |
| import logging | |
| import pandas as pd | |
| import numpy as np | |
| import re | |
| logging.basicConfig(stream=sys.stdout, level=logging.INFO, format="%(message)s") | |
| st.set_page_config(layout="wide", page_title="Report metadata") | |
| st.title("Country by Country Tax Reporting analysis : Metadata") | |
| st.subheader( | |
| "This page will allow you to fill in metadata about the report : company name, headquarter, currency, unit, ...", | |
| ) | |
| display_pages_menu() | |
| if "pdf_after_page_validation" in st.session_state: | |
| col1, col2 = st.columns(2) | |
| with col1: | |
| st.markdown( | |
| get_pdf_iframe(st.session_state["pdf_after_page_validation"]), | |
| unsafe_allow_html=True, | |
| ) | |
| with col2: | |
| with st.form("metadata_form"): | |
| if "metadata" in st.session_state: | |
| company_name = st.session_state["metadata"]["company_name"] | |
| sector = st.session_state["metadata"]["sector"] | |
| year = st.session_state["metadata"]["year"] | |
| currency = st.session_state["metadata"]["currency"] | |
| unit = st.session_state["metadata"]["unit"] | |
| headquarter = st.session_state["metadata"]["headquarter"] | |
| decimal_separator = st.session_state["metadata"]["separator"] | |
| else: | |
| company_name = None | |
| sector = None | |
| year = "" | |
| currency = None | |
| unit = None | |
| headquarter = "" | |
| decimal_separator = "," | |
| separator_list = [",", "."] | |
| decimal_separator = st.selectbox( | |
| "Decimal separator", | |
| separator_list, | |
| index=separator_list.index(decimal_separator), | |
| ) | |
| companies = list(COMPANIES.keys()) | |
| company_name = st.selectbox( | |
| "Company name", | |
| companies, | |
| index=companies.index(company_name) if company_name else 0, | |
| ) | |
| sector = st.selectbox( | |
| "Sector", SECTORS, index=SECTORS.index(sector) if sector else 0 | |
| ) | |
| year = st.text_input("Year", value=year) | |
| currencies = { | |
| ( | |
| CURRENCIES[currency]["AlphabeticCode"], | |
| CURRENCIES[currency]["Currency"], | |
| ) | |
| for currency in CURRENCIES | |
| } | |
| currencies = sorted(currencies, key=lambda x: x[0]) | |
| currencies = [f"{currency[0]} - {currency[1]}" for currency in currencies] | |
| currency = st.selectbox( | |
| "Currency", | |
| currencies, | |
| index=currencies.index(currency) | |
| if currency | |
| else currencies.index("EUR - Euro"), | |
| ) | |
| units = [ | |
| "units", | |
| "thousands", | |
| "millions", | |
| "10 millions", | |
| "100 millions", | |
| "billions", | |
| ] | |
| unit = st.selectbox("Unit", units, index=units.index(unit) if unit else 0) | |
| headquarters = list(JURIDICTIONS.keys()) | |
| headquarter = st.selectbox( | |
| "Headquarter location", | |
| headquarters, | |
| index=headquarters.index(headquarter) if headquarter else 0, | |
| ) | |
| submitted = st.form_submit_button( | |
| label="Submit", | |
| ) | |
| if submitted: | |
| st.session_state["metadata"] = { | |
| "separator": decimal_separator, | |
| "company_name": company_name, | |
| "sector": sector, | |
| "year": year, | |
| "currency": currency, | |
| "unit": unit, | |
| "headquarter": headquarter, | |
| } | |
| st.switch_page("pages/3_Merge_Tables.py") | |