Update app.py
Browse files
app.py
CHANGED
|
@@ -1708,56 +1708,53 @@ with gr.Blocks(title="IPLM 2025 — FINAL (NO UPLOAD)") as demo:
|
|
| 1708 |
dl_word = gr.File(label="Download Word Report (.docx)")
|
| 1709 |
|
| 1710 |
# ============================================================
|
| 1711 |
-
# Events
|
| 1712 |
-
# ============================================================
|
| 1713 |
|
| 1714 |
-
def _run(prov, kab, kew):
|
| 1715 |
-
|
| 1716 |
-
|
| 1717 |
-
|
| 1718 |
-
|
| 1719 |
|
|
|
|
|
|
|
| 1720 |
|
| 1721 |
-
|
| 1722 |
-
|
| 1723 |
|
| 1724 |
-
|
| 1725 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1726 |
|
| 1727 |
-
|
| 1728 |
-
|
| 1729 |
-
|
| 1730 |
-
|
| 1731 |
-
gr.update(choices=kews, value="(Semua)"),
|
| 1732 |
-
"✅ Reload selesai."
|
| 1733 |
)
|
| 1734 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1735 |
|
| 1736 |
-
|
| 1737 |
-
|
| 1738 |
-
|
| 1739 |
-
|
| 1740 |
-
)
|
| 1741 |
-
|
| 1742 |
-
|
| 1743 |
-
run_btn.click(
|
| 1744 |
-
fn=_run,
|
| 1745 |
-
inputs=[prov_dd, kab_dd, kew_dd],
|
| 1746 |
-
outputs=[
|
| 1747 |
-
kpi_md,
|
| 1748 |
-
tbl_summary, tbl_total, tbl_jenis, tbl_faktor, dl_verif,
|
| 1749 |
-
dl_summary, dl_total, dl_detail, dl_verif, dl_raw,
|
| 1750 |
-
fig_sekolah, fig_umum, fig_khusus,
|
| 1751 |
-
status, llm_text, dl_word
|
| 1752 |
-
]
|
| 1753 |
-
)
|
| 1754 |
-
|
| 1755 |
|
| 1756 |
-
reload_btn.click(
|
| 1757 |
-
fn=_reload,
|
| 1758 |
-
inputs=[],
|
| 1759 |
-
outputs=[info_box, prov_dd, kab_dd, kew_dd, status]
|
| 1760 |
-
)
|
| 1761 |
|
| 1762 |
# ============================================================
|
| 1763 |
# 17) LAUNCH
|
|
|
|
| 1708 |
dl_word = gr.File(label="Download Word Report (.docx)")
|
| 1709 |
|
| 1710 |
# ============================================================
|
| 1711 |
+
# Events
|
| 1712 |
+
# ============================================================
|
| 1713 |
|
| 1714 |
+
def _run(prov, kab, kew):
|
| 1715 |
+
return run_calc(
|
| 1716 |
+
prov, kab, kew,
|
| 1717 |
+
df_all, df_raw, pop_kab, pop_prov, pop_khusus, meta
|
| 1718 |
+
)
|
| 1719 |
|
| 1720 |
+
def _reload():
|
| 1721 |
+
global df_all, df_raw, pop_kab, pop_prov, pop_khusus, meta, info
|
| 1722 |
|
| 1723 |
+
df_all, df_raw, pop_kab, pop_prov, pop_khusus, meta, info = load_default_files(force=True)
|
| 1724 |
+
provs, kabs, kews = init_choices(df_raw)
|
| 1725 |
|
| 1726 |
+
return (
|
| 1727 |
+
gr.update(value=info or ""),
|
| 1728 |
+
gr.update(choices=provs, value="(Semua)"),
|
| 1729 |
+
gr.update(choices=kabs, value="(Semua)"),
|
| 1730 |
+
gr.update(choices=kews, value="(Semua)"),
|
| 1731 |
+
"✅ Reload selesai."
|
| 1732 |
+
)
|
| 1733 |
|
| 1734 |
+
prov_dd.change(
|
| 1735 |
+
fn=lambda p: _filter_kab_choices(df_raw, p),
|
| 1736 |
+
inputs=[prov_dd],
|
| 1737 |
+
outputs=[kab_dd]
|
|
|
|
|
|
|
| 1738 |
)
|
| 1739 |
|
| 1740 |
+
run_btn.click(
|
| 1741 |
+
fn=_run,
|
| 1742 |
+
inputs=[prov_dd, kab_dd, kew_dd],
|
| 1743 |
+
outputs=[
|
| 1744 |
+
kpi_md,
|
| 1745 |
+
tbl_summary, tbl_total, tbl_jenis, tbl_faktor, dl_verif,
|
| 1746 |
+
dl_summary, dl_total, dl_detail, dl_verif, dl_raw,
|
| 1747 |
+
fig_sekolah, fig_umum, fig_khusus,
|
| 1748 |
+
status, llm_text, dl_word
|
| 1749 |
+
]
|
| 1750 |
+
)
|
| 1751 |
|
| 1752 |
+
reload_btn.click(
|
| 1753 |
+
fn=_reload,
|
| 1754 |
+
inputs=[],
|
| 1755 |
+
outputs=[info_box, prov_dd, kab_dd, kew_dd, status]
|
| 1756 |
+
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1757 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1758 |
|
| 1759 |
# ============================================================
|
| 1760 |
# 17) LAUNCH
|