Reza-galaxy21 commited on
Commit
7baa90b
·
verified ·
1 Parent(s): 29f7759

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +22 -22
app.py CHANGED
@@ -1,33 +1,33 @@
1
  import gradio as gr
2
- from utils import parse_excel_file, save_to_json
 
 
 
 
3
 
4
- def handle_excel_upload(file, project_description):
5
  try:
6
  materials = parse_excel_file(file.name)
7
- if not materials:
8
- return "⚠️ هیچ ماده‌ای با مقدار معتبر یافت نشد. لطفاً فایل را بررسی کنید."
9
 
10
- data = {
11
- "project_description": project_description.strip(),
12
- "materials": materials
13
- }
 
14
 
15
- save_to_json(data)
16
 
17
- return f"""✅ اطلاعات برای «{len(materials)}» ماده با موفقیت ذخیره شد.
18
- 📝 توصیف پروژه: {project_description}"""
19
  except Exception as e:
20
  return str(e)
21
 
22
- with gr.Blocks(title="ثبت اطلاعات پروژه براورد") as demo:
23
- gr.Markdown("## 📦 ثبت اطلاعات پروژه براورد")
24
-
25
- with gr.Tab("بارگذاری فایل"):
26
- excel_file = gr.File(label="📄 فایل اکسل فهرست بها", file_types=[".xls", ".xlsx"])
27
- project_description = gr.Textbox(label="📝 توصیف پروژه", placeholder="مثال: براورد نصب چراغ خیابانی 70 وات...")
28
- upload_btn = gr.Button("📤 پردازش و ذخیره")
29
- result_output = gr.Textbox(label="🔍 نتیجه", lines=5)
30
-
31
- upload_btn.click(fn=handle_excel_upload, inputs=[excel_file, project_description], outputs=result_output)
32
 
33
- demo.launch()
 
 
1
  import gradio as gr
2
+ from utils import parse_excel_file, parse_user_input, save_to_json
3
+
4
+ def process_file(file):
5
+ if file is None:
6
+ return "⚠️ لطفاً یک فایل اکسل انتخاب کنید."
7
 
 
8
  try:
9
  materials = parse_excel_file(file.name)
10
+ save_to_json(materials)
11
+ user_data = parse_user_input(file.name)
12
 
13
+ msg = f"✅ اطلاعات برای «{len(materials)}» ماده با موفقیت ذخیره شد."
14
+ if user_data:
15
+ msg += f"\n👤 ورودی کاربر شناسایی شد و شامل {len(user_data)} ردیف است."
16
+ else:
17
+ msg += "\nℹ️ شیت ورودی کاربر یافت نشد یا خالی بود."
18
 
19
+ return msg
20
 
 
 
21
  except Exception as e:
22
  return str(e)
23
 
24
+ iface = gr.Interface(
25
+ fn=process_file,
26
+ inputs=gr.File(label="بارگذاری فایل اکسل"),
27
+ outputs=gr.Textbox(label="نتیجه"),
28
+ title="ایجاد کتابخانه مواد از فایل اکسل",
29
+ description="فایل اکسل را بارگذاری کنید تا اطلاعات براورد به‌صورت JSON ذخیره شود. شیت دوم اختیاری است."
30
+ )
 
 
 
31
 
32
+ if __name__ == "__main__":
33
+ iface.launch()