"""Import a procurement-order workbook into the purchase order ledger.""" import argparse import asyncio import logging from pathlib import Path from app.core.config import get_settings from app.database.session import SessionFactory from app.services.purchase_orders import import_purchase_orders async def run(path: Path) -> None: async with SessionFactory() as session: result = await import_purchase_orders(session, path) await session.commit() for key, value in result.items(): print(f"{key}={value}") def main() -> None: parser = argparse.ArgumentParser() parser.add_argument("--file", type=Path, required=True) args = parser.parse_args() if not args.file.is_file(): parser.error(f"file does not exist: {args.file}") logging.basicConfig(level=get_settings().log_level) asyncio.run(run(args.file)) if __name__ == "__main__": main()