"""Проверка параллельной переиндексации: те же метки, страницы и meta, что и в одном процессе. Отдельный скрипт, потому что multiprocessing на Windows заново импортирует главный модуль: tests/run_tests.py без `if __name__ == "__main__"` запустился бы в каждом процессе. Печатает одну строку JSON. """ import json import sys import tempfile from pathlib import Path ROOT = Path(__file__).resolve().parents[1] sys.path[:0] = [str(ROOT), str(ROOT / "tools"), str(ROOT / "tools" / "harvest")] import collect as col # noqa: E402 POST = ("Год выпуска: 2020\nАудио 1: Opus, 6 ch, 221 Kbps | Русский AVO (Дмитрий Пучков)\n" "Аудио 2: AC3, 6 ch, 448 Kbps | Русский MVO (LostFilm)\n") def run(base: Path, name: str, workers: int) -> dict: d = base / name (d / "raw" / "nnm").mkdir(parents=True) (d / "labels.csv").write_text("", encoding="utf-8") for i in range(50): (d / "raw" / "nnm" / f"{9000 + i}.json").write_text(json.dumps( {"id": str(9000 + i), "source": "nnm", "ok": True, "title": f"Фильм {i} (2020) BDRip", "post": POST}, ensure_ascii=False), encoding="utf-8") (d / "raw" / "nnm" / f"{9000 + i}.html").write_text( f"