klydekushy commited on
Commit
6bc0383
·
verified ·
1 Parent(s): 0c7b15d

Update src/modules/loans_engine.py

Browse files
Files changed (1) hide show
  1. src/modules/loans_engine.py +25 -1
src/modules/loans_engine.py CHANGED
@@ -1,10 +1,33 @@
1
  import streamlit as st
2
  import pandas as pd
3
  from datetime import datetime, date, timedelta
4
- # IMPORT DES NOUVEAUX MODULES (Assure-toi que les fichiers sont dans les bons dossiers)
5
  from Analytics.AnalyseFinance import analyser_capacite, generer_tableau_amortissement
6
  from DocumentGen.AutoPDFGeneration import generer_contrat_pret, generer_reconnaissance_dette, generer_contrat_caution
 
7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
8
  # ============================================================================
9
  # STYLES CSS (Ta fonction existante)
10
  # ============================================================================
@@ -585,6 +608,7 @@ def show_loans_engine(client, sheet_name):
585
  datetime.now().strftime("%d-%m-%Y %H:%M:%S") # Date_Creation
586
  ]
587
  ws_prets.append_row(row_data)
 
588
  st.success(f"Prêt {new_id} enregistré !")
589
 
590
  # 7b. GÉNÉRATION PDF (USINE A DOCS)
 
1
  import streamlit as st
2
  import pandas as pd
3
  from datetime import datetime, date, timedelta
4
+ # IMPORT DES NOUVEAUX MODULES
5
  from Analytics.AnalyseFinance import analyser_capacite, generer_tableau_amortissement
6
  from DocumentGen.AutoPDFGeneration import generer_contrat_pret, generer_reconnaissance_dette, generer_contrat_caution
7
+ import time
8
 
9
+
10
+ # ============================================================================
11
+ # GESTION DU CACHE (À PLACER ICI)
12
+ # ============================================================================
13
+
14
+ @st.cache_data(ttl=600) # Le cache expire après 10 minutes
15
+ def get_cached_data(_client, sheet_name, worksheet_name):
16
+ """Lit une feuille spécifique et la transforme en DataFrame avec cache."""
17
+ try:
18
+ sh = _client.open(sheet_name)
19
+ ws = sh.worksheet(worksheet_name)
20
+ return pd.DataFrame(ws.get_all_records())
21
+ except Exception as e:
22
+ st.error(f"Erreur lors de la lecture de {worksheet_name}: {e}")
23
+ return pd.DataFrame()
24
+
25
+ def refresh_data():
26
+ """Fonction pour vider le cache manuellement."""
27
+ st.cache_data.clear()
28
+ st.rerun()
29
+
30
+
31
  # ============================================================================
32
  # STYLES CSS (Ta fonction existante)
33
  # ============================================================================
 
608
  datetime.now().strftime("%d-%m-%Y %H:%M:%S") # Date_Creation
609
  ]
610
  ws_prets.append_row(row_data)
611
+ time.sleep(1)
612
  st.success(f"Prêt {new_id} enregistré !")
613
 
614
  # 7b. GÉNÉRATION PDF (USINE A DOCS)