Spaces:
Build error
Build error
import streamlit as st | |
from utils.logger import setup_logger | |
import pandas as pd | |
from PIL import Image | |
import os | |
logger = setup_logger(__name__) | |
def prune_p60_for_display(analysis_results_for_id): | |
data_to_display = {} | |
data_to_display["document_category"] = "income_document" | |
data_to_display["document_type"] = "p60" | |
employee_details = analysis_results_for_id.get( | |
"employee_details", None) | |
data_to_display["surname"] = employee_details.get( | |
"surname", None) | |
data_to_display["forenames_or_initials"] = employee_details.get( | |
"forenames_or_initials", None) | |
data_to_display["national_insurance_number"] = employee_details.get( | |
"national_insurance_number", None) | |
data_to_display["works_payroll_number"] = employee_details.get( | |
"works_payroll_number", None) | |
pay_and_income_tax_details = analysis_results_for_id.get( | |
"pay_and_income_tax_details", None) | |
data_to_display["previous_employments"] = pay_and_income_tax_details.get( | |
"previous_employments", None) | |
data_to_display["current_employment"] = pay_and_income_tax_details.get( | |
"current_employment", None) | |
data_to_display["total_for_year"] = pay_and_income_tax_details.get( | |
"total_for_year", None) | |
data_to_display["final_tax_code"] = pay_and_income_tax_details.get( | |
"final_tax_code", None) | |
data_to_display["national_insurance_contributions"] = analysis_results_for_id.get( | |
"national_insurance_contributions", None) | |
employer_details = analysis_results_for_id.get( | |
"employer_details", None) | |
data_to_display["employer_name_and_address"] = employer_details.get( | |
"employer_name_and_address", None) | |
data_to_display["paye_reference"] = employer_details.get( | |
"paye_reference", None) | |
return data_to_display | |
def display_p60(extracted_files, analysis_results_pruned): | |
col1, col2 = st.columns([2, 3]) | |
logger.info(f"file_path while displaying: {extracted_files}") | |
st.markdown("---") | |
with col1: | |
if len(extracted_files) > 1: | |
st.image(extracted_files, caption=[os.path.basename( | |
img) for img in extracted_files], use_container_width=True) | |
else: | |
image = Image.open(extracted_files[0]) | |
st.image(image, caption=os.path.basename( | |
extracted_files[0])) # , | |
# use_container_width=True) | |
logger.info( | |
f"analysis_results_pruned : {analysis_results_pruned}") | |
with col2: | |
dict_str = {} | |
for key, value in analysis_results_pruned.items(): | |
# if key not in ['other_deductions', 'salary_components']: | |
dict_str[key] = value | |
simple_df = pd.DataFrame.from_dict( | |
dict_str, | |
orient='index', columns=['Value']).reset_index() | |
simple_df.columns = ['Key', 'Value'] | |
simple_df = simple_df.fillna(value="Missing") | |
simple_df.index += 1 | |
st.dataframe(simple_df, use_container_width=True) | |
# st.markdown("Other Deductions") | |
# other_dedecutions_dict = st.session_state['tab_ocr'][ | |
# 'values_display'][original_file]['other_deductions'] | |
# logger.info(f"other_dedecutions_dict : {other_dedecutions_dict}") | |
# for other_deduc in other_dedecutions_dict: | |
# simple_df = pd.DataFrame.from_dict( | |
# other_deduc, | |
# orient='index', columns=['Value']).reset_index() | |
# simple_df.columns = ['Key', 'Value'] | |
# simple_df = simple_df.fillna(value="Missing") | |
# st.dataframe(simple_df, use_container_width=True) | |
logger.info(f"simple_df: {simple_df}") | |