| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
|
|
| import argparse |
| from pathlib import Path |
|
|
| from paddleocr._api_client import cli |
| from paddleocr._api_client.results import OCRPage, OCRResult |
|
|
|
|
| def test_cli_save_resources_uses_result_specific_helper(tmp_path, monkeypatch, capsys): |
| class FakeClient: |
| def __init__(self, **kwargs): |
| self.kwargs = kwargs |
|
|
| def ocr(self, **kwargs): |
| return OCRResult( |
| job_id="job-1", |
| pages=[ |
| OCRPage( |
| pruned_result={}, ocr_image_url="https://example.test/a.png" |
| ) |
| ], |
| ) |
|
|
| def save_ocr_result_resources(self, result, destination, overwrite=False): |
| assert result.job_id == "job-1" |
| assert destination == str(tmp_path) |
| assert overwrite is True |
| return [str(Path(destination) / "ocr-page-1.png")] |
|
|
| def close(self): |
| return None |
|
|
| monkeypatch.setattr(cli, "PaddleOCRClient", FakeClient) |
|
|
| args = argparse.Namespace( |
| token="token", |
| client_platform=None, |
| base_url=None, |
| request_timeout=300.0, |
| poll_timeout=600.0, |
| model=None, |
| model_type="ocr", |
| file_url="https://example.test/input.pdf", |
| file_path=None, |
| output=None, |
| save_resources=str(tmp_path), |
| overwrite_resources=True, |
| page_ranges=None, |
| batch_id=None, |
| use_doc_orientation_classify=None, |
| use_doc_unwarping=None, |
| use_textline_orientation=None, |
| use_chart_recognition=None, |
| use_seal_recognition=None, |
| use_table_recognition=None, |
| use_formula_recognition=None, |
| use_layout_detection=None, |
| text_det_limit_side_len=None, |
| text_det_limit_type=None, |
| text_rec_score_thresh=None, |
| prettify_markdown=None, |
| visualize=None, |
| ) |
|
|
| cli._execute_api(args) |
|
|
| captured = capsys.readouterr() |
| assert '"jobId": "job-1"' in captured.out |
| assert "Resources saved to:" in captured.err |
|
|