Spaces:
Sleeping
Sleeping
| """Simple API test - writes results to file.""" | |
| import requests, time, json | |
| BASE = "http://localhost:8000" | |
| out = [] | |
| with open("test_document.docx", "rb") as f: | |
| res = requests.post(f"{BASE}/api/upload", files={"file": ("test_document.docx", f)}) | |
| data = res.json() | |
| task_id = data["file_id"] | |
| out.append(f"Upload: {data['status']} (ID: {task_id})") | |
| for i in range(30): | |
| time.sleep(1) | |
| res = requests.get(f"{BASE}/api/status/{task_id}") | |
| result = res.json() | |
| if result["status"] in ("completed", "error"): | |
| break | |
| out.append(f"Status: {result['status']}") | |
| out.append(f"Time: {round(result.get('processing_time_ms', 0))}ms") | |
| if result.get("extraction"): | |
| e = result["extraction"] | |
| out.append(f"\nEXTRACTION: success={e['success']}, words={e['metadata']['word_count']}") | |
| out.append(f"Text preview: {e['raw_text'][:200]}...") | |
| if result.get("summary"): | |
| s = result["summary"] | |
| out.append(f"\nSUMMARY ({s['algorithm']}): compression={round((1-s['compression_ratio'])*100)}%") | |
| out.append(s["summary"][:400]) | |
| if result.get("entities"): | |
| ent = result["entities"] | |
| out.append(f"\nENTITIES: {ent['total_entities']} found") | |
| out.append(f"Categories: {json.dumps(ent['entity_counts'])}") | |
| for e in ent["entities"][:15]: | |
| out.append(f" [{e['label']}] {e['text']} (x{e['count']})") | |
| if result.get("sentiment"): | |
| s = result["sentiment"] | |
| out.append(f"\nSENTIMENT: {s['overall_label']} (compound={s['overall_compound']})") | |
| out.append(f"Pos={s['overall_positive']} Neg={s['overall_negative']} Neu={s['overall_neutral']}") | |
| out.append("\nDONE") | |
| text = "\n".join(out) | |
| with open("test_output.txt", "w", encoding="utf-8") as f: | |
| f.write(text) | |
| print(text) | |