Update app.py
Browse files
app.py
CHANGED
|
@@ -12,15 +12,30 @@ import os
|
|
| 12 |
logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s")
|
| 13 |
logger = logging.getLogger(__name__)
|
| 14 |
|
| 15 |
-
def process_files(
|
| 16 |
"""Process uploaded CSV files and generate dashboard outputs."""
|
| 17 |
-
logger.info(f"Received
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 18 |
# Filter out None values and ensure we have valid files
|
| 19 |
-
valid_files = [f for f in
|
| 20 |
if not valid_files:
|
| 21 |
-
logger.warning("No valid files
|
| 22 |
return "Please upload at least one valid CSV file.", None, None, None, None
|
| 23 |
|
|
|
|
| 24 |
try:
|
| 25 |
# Load data
|
| 26 |
df = load_logs(valid_files)
|
|
|
|
| 12 |
logging.basicConfig(level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s")
|
| 13 |
logger = logging.getLogger(__name__)
|
| 14 |
|
| 15 |
+
def process_files(uploaded_files):
|
| 16 |
"""Process uploaded CSV files and generate dashboard outputs."""
|
| 17 |
+
logger.info(f"Received uploaded files: {uploaded_files}")
|
| 18 |
+
# Handle Gradio's File component output: may be a tuple/list of lists
|
| 19 |
+
if not uploaded_files:
|
| 20 |
+
logger.warning("No files uploaded.")
|
| 21 |
+
return "Please upload at least one valid CSV file.", None, None, None, None
|
| 22 |
+
|
| 23 |
+
# Flatten the structure: uploaded_files might be (['path'],) or ['path']
|
| 24 |
+
if isinstance(uploaded_files, (tuple, list)) and len(uploaded_files) > 0:
|
| 25 |
+
if isinstance(uploaded_files[0], list):
|
| 26 |
+
valid_files = uploaded_files[0] # Extract the inner list
|
| 27 |
+
else:
|
| 28 |
+
valid_files = uploaded_files
|
| 29 |
+
else:
|
| 30 |
+
valid_files = []
|
| 31 |
+
|
| 32 |
# Filter out None values and ensure we have valid files
|
| 33 |
+
valid_files = [f for f in valid_files if f is not None]
|
| 34 |
if not valid_files:
|
| 35 |
+
logger.warning("No valid files after filtering.")
|
| 36 |
return "Please upload at least one valid CSV file.", None, None, None, None
|
| 37 |
|
| 38 |
+
logger.info(f"Processing {len(valid_files)} valid files: {valid_files}")
|
| 39 |
try:
|
| 40 |
# Load data
|
| 41 |
df = load_logs(valid_files)
|