17 lines
985 B
Python
17 lines
985 B
Python
"""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)
|