MaheshP98 commited on
Commit
952210b
Β·
verified Β·
1 Parent(s): 08fef74

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -9
app.py CHANGED
@@ -14,13 +14,16 @@ 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 {len(uploaded_files)} uploaded files.")
18
- if not uploaded_files:
19
- return "Please upload at least one CSV file.", None, None, None, None
 
 
 
20
 
21
  try:
22
  # Load data
23
- df = load_logs(uploaded_files)
24
  logger.info(f"Loaded {len(df)} log records from uploaded files.")
25
 
26
  # Log table
@@ -48,16 +51,17 @@ def process_files(*uploaded_files):
48
  return f"Error: {e}", None, None, None, None
49
 
50
  def generate_pdf_report(df):
51
- """Generate and return path to PDF report."""
52
  if df is None:
53
- return "Please upload CSV files first."
 
54
  logger.info("Generating PDF report...")
55
  try:
56
  pdf_path = generate_pdf(df)
57
- return pdf_path
58
  except Exception as e:
59
  logger.error(f"Failed to generate PDF: {e}")
60
- return f"Error generating PDF: {e}"
61
 
62
  with gr.Blocks(title="Multi-Device LabOps Dashboard") as demo:
63
  gr.Markdown("# πŸ“Š Multi-Device LabOps Dashboard")
@@ -87,6 +91,7 @@ with gr.Blocks(title="Multi-Device LabOps Dashboard") as demo:
87
  with gr.Row():
88
  pdf_btn = gr.Button("πŸ“„ Generate PDF Report")
89
  pdf_output = gr.File(label="Download PDF Report")
 
90
 
91
  # State to store dataframe
92
  df_state = gr.State()
@@ -101,7 +106,7 @@ with gr.Blocks(title="Multi-Device LabOps Dashboard") as demo:
101
  pdf_btn.click(
102
  fn=generate_pdf_report,
103
  inputs=[df_state],
104
- outputs=[pdf_output]
105
  )
106
 
107
  if __name__ == "__main__":
 
14
 
15
  def process_files(*uploaded_files):
16
  """Process uploaded CSV files and generate dashboard outputs."""
17
+ logger.info(f"Received {len(uploaded_files)} uploaded files: {uploaded_files}")
18
+ # Filter out None values and ensure we have valid files
19
+ valid_files = [f for f in uploaded_files if f is not None]
20
+ if not valid_files:
21
+ logger.warning("No valid files uploaded.")
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)
27
  logger.info(f"Loaded {len(df)} log records from uploaded files.")
28
 
29
  # Log table
 
51
  return f"Error: {e}", None, None, None, None
52
 
53
  def generate_pdf_report(df):
54
+ """Generate and return path to PDF report, with error message if applicable."""
55
  if df is None:
56
+ logger.warning("No data available for PDF generation.")
57
+ return None, "Please upload CSV files first."
58
  logger.info("Generating PDF report...")
59
  try:
60
  pdf_path = generate_pdf(df)
61
+ return pdf_path, "PDF generated successfully."
62
  except Exception as e:
63
  logger.error(f"Failed to generate PDF: {e}")
64
+ return None, f"Error generating PDF: {e}"
65
 
66
  with gr.Blocks(title="Multi-Device LabOps Dashboard") as demo:
67
  gr.Markdown("# πŸ“Š Multi-Device LabOps Dashboard")
 
91
  with gr.Row():
92
  pdf_btn = gr.Button("πŸ“„ Generate PDF Report")
93
  pdf_output = gr.File(label="Download PDF Report")
94
+ pdf_message = gr.Textbox(label="PDF Generation Status")
95
 
96
  # State to store dataframe
97
  df_state = gr.State()
 
106
  pdf_btn.click(
107
  fn=generate_pdf_report,
108
  inputs=[df_state],
109
+ outputs=[pdf_output, pdf_message]
110
  )
111
 
112
  if __name__ == "__main__":