Spaces:
Running
Running
Update src/modules/loans_engine.py
Browse files- 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
|
| 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)
|