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}") | |