Release v4928.1.4.2 stable
This commit is contained in:
42
scripts/inspect_jasmin_candidates_for_opportunity.py
Executable file
42
scripts/inspect_jasmin_candidates_for_opportunity.py
Executable file
@@ -0,0 +1,42 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Inspect Jasmin document candidates for an opportunity.
|
||||
|
||||
Optionally sync recent Jasmin documents first, then prints open/valid candidates first
|
||||
and ignored closed/completed/cancelled documents afterwards.
|
||||
"""
|
||||
from __future__ import annotations
|
||||
|
||||
import argparse
|
||||
import asyncio
|
||||
import json
|
||||
from decimal import Decimal
|
||||
from typing import Any
|
||||
|
||||
|
||||
def _json_default(value: Any) -> str:
|
||||
if isinstance(value, Decimal):
|
||||
return str(value)
|
||||
return str(value)
|
||||
|
||||
|
||||
async def main() -> int:
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument("--opportunity-id", required=True)
|
||||
parser.add_argument("--limit", type=int, default=20)
|
||||
parser.add_argument("--sync", action="store_true", help="Sync recent Jasmin reconciliation candidates before inspection")
|
||||
parser.add_argument("--days", type=int, default=30)
|
||||
args = parser.parse_args()
|
||||
|
||||
if args.sync:
|
||||
from app.external_reconciliation_sync import sync_jasmin_reconciliation_candidates
|
||||
sync_result = await sync_jasmin_reconciliation_candidates(limit=100, days=args.days)
|
||||
print(json.dumps({"sync_jasmin": sync_result}, ensure_ascii=False, indent=2, default=_json_default))
|
||||
|
||||
from app.jasmin_backfill_service import find_jasmin_document_candidates_for_opportunity
|
||||
candidates = find_jasmin_document_candidates_for_opportunity(args.opportunity_id, limit=args.limit)
|
||||
print(json.dumps({"opportunity_id": args.opportunity_id, "candidates": candidates}, ensure_ascii=False, indent=2, default=_json_default))
|
||||
return 0
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
raise SystemExit(asyncio.run(main()))
|
||||
Reference in New Issue
Block a user