51 lines
1.8 KiB
Python
51 lines
1.8 KiB
Python
|
|
import requests
|
|
import json
|
|
|
|
def clear_failed_documents():
|
|
base_url = "http://localhost:3015"
|
|
|
|
# Login first to get JWT token
|
|
login_data = {
|
|
"username": "jleu3482",
|
|
"password": "jleu1212"
|
|
}
|
|
|
|
try:
|
|
# Login to get token
|
|
login_response = requests.post(f"{base_url}/login", data=login_data)
|
|
if login_response.status_code == 200:
|
|
token = login_response.json().get("access_token")
|
|
|
|
headers = {
|
|
"Authorization": f"Bearer {token}"
|
|
}
|
|
|
|
# Get current documents
|
|
docs_response = requests.get(f"{base_url}/documents", headers=headers)
|
|
if docs_response.status_code == 200:
|
|
documents = docs_response.json()
|
|
failed_docs = documents.get('statuses', {}).get('failed', [])
|
|
|
|
if failed_docs:
|
|
print(f"Found {len(failed_docs)} failed documents to clear")
|
|
|
|
# Clear all documents
|
|
clear_response = requests.delete(f"{base_url}/documents", headers=headers)
|
|
if clear_response.status_code == 200:
|
|
print("Successfully cleared all documents")
|
|
else:
|
|
print(f"Failed to clear documents: {clear_response.status_code}")
|
|
else:
|
|
print("No failed documents found")
|
|
else:
|
|
print(f"Could not fetch documents: {docs_response.status_code}")
|
|
else:
|
|
print(f"Login failed: {login_response.status_code}")
|
|
|
|
except Exception as e:
|
|
print(f"Error clearing documents: {e}")
|
|
|
|
if __name__ == "__main__":
|
|
clear_failed_documents()
|