GodsDevProject's picture
Create foia_requests.py
47faf4b verified
from typing import Dict, List
import json
import os
import uuid
from datetime import datetime
FOIA_STORE = "data/foia_requests.json"
def _load_requests() -> List[Dict]:
if not os.path.exists(FOIA_STORE):
return []
try:
with open(FOIA_STORE, "r", encoding="utf-8") as f:
return json.load(f)
except Exception:
return []
def _save_requests(requests: List[Dict]) -> None:
os.makedirs(os.path.dirname(FOIA_STORE), exist_ok=True)
with open(FOIA_STORE, "w", encoding="utf-8") as f:
json.dump(requests, f, indent=2)
def add_foia_request(
agency: str,
subject: str,
description: str,
requester_type: str = "Journalist"
) -> Dict:
"""
Store a FOIA request record (tracking only).
No submission to agencies is performed.
"""
record = {
"id": str(uuid.uuid4()),
"timestamp": datetime.utcnow().isoformat() + "Z",
"agency": agency,
"subject": subject,
"description": description,
"requester_type": requester_type,
"status": "Draft",
"notes": "Generated by FOIA Declassified Document Search (tracking only)"
}
requests = _load_requests()
requests.append(record)
_save_requests(requests)
return record