"""Python API and JSON stdout CLI; all paths resolved relative to this bundle.""" import sys,json,argparse from pathlib import Path ROOT=Path(__file__).resolve().parents[1] sys.path.insert(0,str(ROOT/'app/Code/bridge_extractor_package/src')) sys.path.insert(0,str(ROOT/'app/runtime/python/Lib/site-packages')) from bridge_drawing_extractor import extract_folder as _extract,ExtractionError def extract_folder(folder,output_dir=None,on_progress=None): return _extract(folder,output_dir=output_dir,converter_path=ROOT/'app/Code/giyang_extract/libredwg/dwgread.exe',on_progress=on_progress) if __name__=='__main__': p=argparse.ArgumentParser();p.add_argument('folder');p.add_argument('--output');a=p.parse_args() try: r=extract_folder(a.folder,a.output) print(json.dumps(r.to_dict(),ensure_ascii=False));sys.exit(0) except Exception as e: print(json.dumps(dict(status='error',error=type(e).__name__,message=str(e)),ensure_ascii=False));sys.exit(1)