Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -12,20 +12,30 @@ def process_excel(file, description):
|
|
| 12 |
try:
|
| 13 |
# پردازش فایل اکسل
|
| 14 |
materials = parse_excel_file(file.name)
|
|
|
|
|
|
|
|
|
|
|
|
|
| 15 |
record = {
|
| 16 |
"project_description": description.strip(),
|
| 17 |
"materials": materials
|
| 18 |
}
|
| 19 |
|
| 20 |
-
#
|
| 21 |
all_data = []
|
| 22 |
if os.path.exists(DATA_FILE):
|
| 23 |
with open(DATA_FILE, "r", encoding="utf-8") as f:
|
| 24 |
try:
|
| 25 |
all_data = json.load(f)
|
| 26 |
except json.JSONDecodeError:
|
| 27 |
-
pass # فایل خالی یا
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 28 |
|
|
|
|
| 29 |
all_data.append(record)
|
| 30 |
save_to_json(all_data, DATA_FILE)
|
| 31 |
|
|
|
|
| 12 |
try:
|
| 13 |
# پردازش فایل اکسل
|
| 14 |
materials = parse_excel_file(file.name)
|
| 15 |
+
|
| 16 |
+
if len(materials) == 0:
|
| 17 |
+
return "❌ هیچ مادهای برای ذخیرهسازی یافت نشد.", ""
|
| 18 |
+
|
| 19 |
record = {
|
| 20 |
"project_description": description.strip(),
|
| 21 |
"materials": materials
|
| 22 |
}
|
| 23 |
|
| 24 |
+
# بارگذاری دادههای قبلی
|
| 25 |
all_data = []
|
| 26 |
if os.path.exists(DATA_FILE):
|
| 27 |
with open(DATA_FILE, "r", encoding="utf-8") as f:
|
| 28 |
try:
|
| 29 |
all_data = json.load(f)
|
| 30 |
except json.JSONDecodeError:
|
| 31 |
+
pass # فایل خالی یا خراب
|
| 32 |
+
|
| 33 |
+
# بررسی تکراری بودن توصیف پروژه
|
| 34 |
+
for item in all_data:
|
| 35 |
+
if item.get("project_description", "").strip() == description.strip():
|
| 36 |
+
return "⚠️ پروژهای با این توصیف قبلاً ثبت شده است.", json.dumps(item, indent=2, ensure_ascii=False)
|
| 37 |
|
| 38 |
+
# افزودن پروژه جدید و ذخیره در فایل
|
| 39 |
all_data.append(record)
|
| 40 |
save_to_json(all_data, DATA_FILE)
|
| 41 |
|