"""Standardwerte: EPUB-Sprache, Prozesszahl, Titel/Autor aus dem Dateinamen.""" import zipfile import pymupdf import pytest import pdf2md as p from conftest import needs_pandoc from test_e2e import run @pytest.mark.parametrize( "ocr_language, expected", [("deu", "de"), ("eng", "en"), ("eng+deu", "en"), ("fra", "fr"), ("xyz", "de")], ) def test_epub_language_follows_ocr_language(ocr_language, expected): assert p.epub_language(ocr_language) == expected @pytest.mark.parametrize("cores, expected", [(None, 1), (1, 1), (4, 2), (24, 8)]) def test_default_jobs(monkeypatch, cores, expected): monkeypatch.setattr(p.os, "cpu_count", lambda: cores) assert p.default_jobs() == expected @pytest.mark.parametrize( "stem, expected", [ ("Katja_Adler_-_Rolle_rückwärts_DDR", ("Rolle rückwärts DDR", "Katja Adler")), ("Zensur_Netzwerk_Deutschland_de-report-de", ("Zensur Netzwerk Deutschland de-report-de", "")), ("A_-_B_-_C", ("B - C", "A")), ], ) def test_title_author_from_filename(stem, expected): assert p.title_author_from_filename(stem) == expected @needs_pandoc def test_epub_without_metadata_uses_filename_and_ocr_language(pdfs, tmp_path): doc = pymupdf.open(pdfs["digital"]) doc.set_metadata({}) source = tmp_path / "Max_Muster_-_Ein_Buch.pdf" doc.save(source) run(source, tmp_path / "buch.md", "--epub", "--ocr-language", "eng") with zipfile.ZipFile(tmp_path / "buch.epub") as z: opf = z.read("EPUB/content.opf").decode() assert ">Ein Buch<" in opf assert ">Max Muster<" in opf assert "en" in opf