mirror of
https://github.com/ocrmypdf/OCRmyPDF.git
synced 2025-12-23 22:28:05 -05:00
55 lines
1.3 KiB
Python
55 lines
1.3 KiB
Python
import datetime
|
|
import os
|
|
import shutil
|
|
import subprocess
|
|
import sys
|
|
import time
|
|
from pathlib import Path
|
|
|
|
import pytest
|
|
|
|
watchdog = pytest.importorskip('watchdog')
|
|
|
|
|
|
@pytest.mark.parametrize('year_month', [True, False])
|
|
def test_watcher(tmp_path, resources, year_month):
|
|
input_dir = tmp_path / 'input'
|
|
input_dir.mkdir()
|
|
output_dir = tmp_path / 'output'
|
|
output_dir.mkdir()
|
|
processed_dir = tmp_path / 'processed'
|
|
processed_dir.mkdir()
|
|
|
|
if year_month:
|
|
env_extra = {'OCR_OUTPUT_DIRECTORY_YEAR_MONTH': '1'}
|
|
else:
|
|
env_extra = {}
|
|
proc = subprocess.Popen(
|
|
[
|
|
sys.executable,
|
|
Path(__file__).parent.parent / 'misc' / 'watcher.py',
|
|
str(input_dir),
|
|
str(output_dir),
|
|
str(processed_dir),
|
|
],
|
|
cwd=str(tmp_path),
|
|
env=os.environ.copy() | env_extra,
|
|
)
|
|
time.sleep(5)
|
|
|
|
shutil.copy(resources / 'trivial.pdf', input_dir / 'trivial.pdf')
|
|
time.sleep(5)
|
|
|
|
if year_month:
|
|
assert (
|
|
output_dir
|
|
/ f'{datetime.date.today().year}'
|
|
/ f'{datetime.date.today().month:02d}'
|
|
/ 'trivial.pdf'
|
|
).exists()
|
|
else:
|
|
assert (output_dir / 'trivial.pdf').exists()
|
|
|
|
proc.terminate()
|
|
proc.wait()
|