| import os |
| import sys |
| sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) |
| from scripts.ingest import ingest_pdf |
|
|
| RAW_DIR = os.path.join(os.path.dirname(os.path.dirname(os.path.abspath(__file__))), "data", "raw") |
|
|
| JURISDICTION_HINTS = { |
| "uae": "UAE", "dubai": "UAE", "adgm": "UAE", "difc": "UAE", |
| "fta": "UAE", "cbuae": "UAE", |
| "india": "India", "cbic": "India", "gst": "India", "incometax": "India", |
| "sebi": "India", "rbi": "India" |
| } |
| SOURCE_TYPE_HINTS = { |
| "act": "statute", "law": "statute", "decree": "statute", "regulation": "statute", |
| "case": "case", "judgment": "case", "ruling": "ruling", "circular": "ruling", |
| "notification": "ruling", "order": "ruling" |
| } |
|
|
| def guess_meta(filename: str) -> dict: |
| name_lower = filename.lower() |
| jurisdiction = "Both" |
| for hint, j in JURISDICTION_HINTS.items(): |
| if hint in name_lower: |
| jurisdiction = j |
| break |
| source_type = "statute" |
| for hint, t in SOURCE_TYPE_HINTS.items(): |
| if hint in name_lower: |
| source_type = t |
| break |
| return { |
| "source": "Bulk PDF Import", |
| "source_type": source_type, |
| "jurisdiction": jurisdiction, |
| "doc_title": filename.replace("_", " ").replace(".pdf", ""), |
| "date": "imported", |
| "url": "" |
| } |
|
|
| if __name__ == "__main__": |
| pdfs = [f for f in os.listdir(RAW_DIR) if f.endswith(".pdf")] |
| if not pdfs: |
| print(f"No PDFs found in {RAW_DIR}. Drop your PDF files there and rerun.") |
| for pdf in pdfs: |
| meta = guess_meta(pdf) |
| print(f"Processing: {pdf} → jurisdiction={meta['jurisdiction']}, type={meta['source_type']}") |
| ingest_pdf(os.path.join(RAW_DIR, pdf), meta) |
| print(f"Done. {len(pdfs)} PDFs ingested.") |