29 lines
698 B
Python
29 lines
698 B
Python
import argparse
|
|
import json
|
|
from pathlib import Path
|
|
|
|
from loguru import logger
|
|
|
|
from cv_analysis.server.pipeline import make_analysis_pipeline_for_element_type
|
|
|
|
|
|
def parse_args():
|
|
parser = argparse.ArgumentParser()
|
|
parser.add_argument("pdf", type=Path)
|
|
parser.add_argument("--element_type", "-t", choices=["table", "figure"], required=True)
|
|
return parser.parse_args()
|
|
|
|
|
|
def main(args):
|
|
|
|
analysis_fn = make_analysis_pipeline_for_element_type(args.element_type)
|
|
|
|
logger.info(f"Analysing document for {args.element_type}s...")
|
|
results = list(analysis_fn(args.pdf.read_bytes()))
|
|
|
|
print(json.dumps(results, indent=2))
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main(parse_args())
|