Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
|
@@ -157,23 +157,29 @@ detector = InvoiceDuplicateDetector()
|
|
| 157 |
|
| 158 |
def upload_files(files):
|
| 159 |
if not files:
|
| 160 |
-
return "
|
| 161 |
results = []
|
| 162 |
for file in files:
|
| 163 |
-
|
| 164 |
-
|
|
|
|
|
|
|
|
|
|
| 165 |
success, message = detector.store_invoice(file_bytes, filename)
|
| 166 |
results.append(f"{filename}: {message}")
|
| 167 |
return "\n".join(results)
|
| 168 |
|
| 169 |
def check_duplicates(file):
|
| 170 |
if not file:
|
| 171 |
-
return "
|
| 172 |
-
|
| 173 |
-
|
|
|
|
|
|
|
|
|
|
| 174 |
ok, result = detector.find_duplicates(file_bytes, filename)
|
| 175 |
if not ok:
|
| 176 |
-
return
|
| 177 |
if not result:
|
| 178 |
return "β
No duplicates found!"
|
| 179 |
return "\n".join([f"π {fname} β Similarity: {score:.2f}" for fname, score in result])
|
|
@@ -194,5 +200,6 @@ with gr.Blocks(theme=gr.themes.Soft()) as demo:
|
|
| 194 |
upload_btn.click(upload_files, inputs=upload_input, outputs=upload_output)
|
| 195 |
check_btn.click(check_duplicates, inputs=check_input, outputs=check_output)
|
| 196 |
|
| 197 |
-
|
|
|
|
| 198 |
|
|
|
|
| 157 |
|
| 158 |
def upload_files(files):
|
| 159 |
if not files:
|
| 160 |
+
return "No files uploaded."
|
| 161 |
results = []
|
| 162 |
for file in files:
|
| 163 |
+
try:
|
| 164 |
+
file_bytes = file.read()
|
| 165 |
+
except Exception:
|
| 166 |
+
return "File read error."
|
| 167 |
+
filename = getattr(file, "name", "uploaded")
|
| 168 |
success, message = detector.store_invoice(file_bytes, filename)
|
| 169 |
results.append(f"{filename}: {message}")
|
| 170 |
return "\n".join(results)
|
| 171 |
|
| 172 |
def check_duplicates(file):
|
| 173 |
if not file:
|
| 174 |
+
return "No file provided."
|
| 175 |
+
try:
|
| 176 |
+
file_bytes = file.read()
|
| 177 |
+
except Exception:
|
| 178 |
+
return "File read error."
|
| 179 |
+
filename = getattr(file, "name", "uploaded")
|
| 180 |
ok, result = detector.find_duplicates(file_bytes, filename)
|
| 181 |
if not ok:
|
| 182 |
+
return result
|
| 183 |
if not result:
|
| 184 |
return "β
No duplicates found!"
|
| 185 |
return "\n".join([f"π {fname} β Similarity: {score:.2f}" for fname, score in result])
|
|
|
|
| 200 |
upload_btn.click(upload_files, inputs=upload_input, outputs=upload_output)
|
| 201 |
check_btn.click(check_duplicates, inputs=check_input, outputs=check_output)
|
| 202 |
|
| 203 |
+
if __name__ == "__main__":
|
| 204 |
+
demo.launch()
|
| 205 |
|