more fixes
Browse files
app.py
CHANGED
|
@@ -57,9 +57,19 @@ def _empty_dataframe(message: str = "No data available") -> pd.DataFrame:
|
|
| 57 |
return pd.DataFrame({"status": [message]})
|
| 58 |
|
| 59 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 60 |
def _ensure_state(state) -> Dict[str, Any]:
|
| 61 |
"""Guarantee a dictionary-based state object."""
|
| 62 |
-
return state or
|
| 63 |
|
| 64 |
|
| 65 |
def _current_dataframe(state, filtered: bool = True) -> pd.DataFrame:
|
|
@@ -444,7 +454,7 @@ def _describe_sample_dataset(selection: Optional[str]) -> str:
|
|
| 444 |
def create_dashboard():
|
| 445 |
with gr.Blocks(theme=gr.themes.Soft()) as demo:
|
| 446 |
gr.Markdown("# Business Intelligence Dashboard")
|
| 447 |
-
dataset_state = gr.State(
|
| 448 |
last_figure_state = gr.State(None)
|
| 449 |
|
| 450 |
sample_choices = list(sample_dataset_options().keys())
|
|
@@ -738,4 +748,4 @@ def create_dashboard():
|
|
| 738 |
|
| 739 |
if __name__ == "__main__":
|
| 740 |
demo = create_dashboard()
|
| 741 |
-
demo.launch(server_name="0.0.0.0", server_port=7860
|
|
|
|
| 57 |
return pd.DataFrame({"status": [message]})
|
| 58 |
|
| 59 |
|
| 60 |
+
|
| 61 |
+
DEFAULT_STATE = {
|
| 62 |
+
"dataframe": None,
|
| 63 |
+
"filtered_df": None,
|
| 64 |
+
"column_types": None,
|
| 65 |
+
"filter_meta": None,
|
| 66 |
+
"source_name": None,
|
| 67 |
+
}
|
| 68 |
+
|
| 69 |
+
|
| 70 |
def _ensure_state(state) -> Dict[str, Any]:
|
| 71 |
"""Guarantee a dictionary-based state object."""
|
| 72 |
+
return state or DEFAULT_STATE.copy()
|
| 73 |
|
| 74 |
|
| 75 |
def _current_dataframe(state, filtered: bool = True) -> pd.DataFrame:
|
|
|
|
| 454 |
def create_dashboard():
|
| 455 |
with gr.Blocks(theme=gr.themes.Soft()) as demo:
|
| 456 |
gr.Markdown("# Business Intelligence Dashboard")
|
| 457 |
+
dataset_state = gr.State(DEFAULT_STATE.copy())
|
| 458 |
last_figure_state = gr.State(None)
|
| 459 |
|
| 460 |
sample_choices = list(sample_dataset_options().keys())
|
|
|
|
| 748 |
|
| 749 |
if __name__ == "__main__":
|
| 750 |
demo = create_dashboard()
|
| 751 |
+
demo.launch(server_name="0.0.0.0", server_port=7860)
|