import streamlit as st from utilitis import Draw, Add_Results, Change_Image from PIL import Image def check_if_changed(original_values, updated_values): for key, value in original_values.items(): if updated_values[key] != value: return True return False st.title("Bienvenue à Textra Web App") st.markdown("### Drag and Drop votre facture ici:") st.write("(PNG, JPG, JPEG)") uploaded_file = st.file_uploader("Ou selectioner une image:", type=["png", "jpg", "jpeg"], accept_multiple_files=False) if uploaded_file is not None: image_initiale = Image.open(uploaded_file) image_initiale = image_initiale.convert("RGB") @st.cache_data def process_image(uploaded_file): image = Image.open(uploaded_file) image = image.convert("RGB") return Draw(image) # Process the image and retrieve results image, Results = process_image(uploaded_file) Change_Image(image,image_initiale) st.sidebar.title('Results') # Define text inputs with initial values text_fourni = st.sidebar.text_input("Fournisseur", value=Results["Fournisseur"]) text_InvDate = st.sidebar.text_input("Date Facture", value=Results["Date Facture"]) text_InvNum = st.sidebar.text_input("Numéro de facture", value=Results["Numéro de facture"]) text_TT = st.sidebar.text_input("Total HT", value=Results["Total HT"]) text_TVA = st.sidebar.text_input("TTC", value=Results["Total TTC"]) text_TTC = st.sidebar.text_input("TVA", value=Results["TVA"]) st.write("Predicted Text:", text_fourni, text_InvDate, text_InvNum, text_TT, text_TVA, text_TTC) # Check if any input has been changed if check_if_changed(Results, { "Fournisseur": text_fourni, "Date Facture": text_InvDate, "Numéro de facture": text_InvNum, "Total HT": text_TT, "TVA": text_TVA, "TTC": text_TTC }): # Add a button to save changes if st.button("Sauvegarder"): # Get updated values from text inputs updated_results = { "Fournisseur": text_fourni, "Date Facture": text_InvDate, "Numéro de facture": text_InvNum, "Total HT": text_TT, "TVA": text_TVA, "TTC": text_TTC } # Perform action to save updated results (e.g., update database, save to file) # Add_Results(updated_results) st.success("Les résultats ont été sauvegardés avec succès !")