From 0250d10c7950a4cf5a536d47ffb5537f58cadc2a Mon Sep 17 00:00:00 2001 From: Martin Mares <mj@ucw.cz> Date: Fri, 18 Apr 2025 15:18:21 +0200 Subject: [PATCH] =?UTF-8?q?Pou=C5=BE=C3=ADv=C3=A1me=20pypdf=20m=C3=ADsto?= =?UTF-8?q?=20PyPDF2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Je to pokračování téhož projektu. Kontroloval jsem changelog a žádné breaking changes by se nás neměly týkat. Zato už jsou opravené bugy v kopírování anotací. --- bin/freeze-score | 6 +++--- constraints.txt | 2 +- mo/jobs/protocols.py | 8 ++++---- setup.py | 2 +- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/bin/freeze-score b/bin/freeze-score index 94c0a5c2..f522750e 100755 --- a/bin/freeze-score +++ b/bin/freeze-score @@ -7,7 +7,7 @@ from pathlib import Path from shutil import copyfile from sqlalchemy.orm import joinedload from typing import List -import PyPDF2 +import pypdf import mo.db as db import mo.jobs.score @@ -54,9 +54,9 @@ def download(contests: List[db.Contest], out_name: str) -> None: all_pdf = out_dir / 'all.pdf' print(f'Merging PDFs to {all_pdf}') - writer = PyPDF2.PdfWriter() + writer = pypdf.PdfWriter() for pdf in pdfs: - reader = PyPDF2.PdfReader(pdf) + reader = pypdf.PdfReader(pdf) for pg in reader.pages: writer.add_page(pg) with open(all_pdf, 'wb') as f: diff --git a/constraints.txt b/constraints.txt index 5a177a92..c125b4ca 100644 --- a/constraints.txt +++ b/constraints.txt @@ -25,7 +25,7 @@ packaging==24.1 pikepdf==9.3.0 pillow==11.0.0 psycopg2==2.9.10 -PyPDF2==3.0.1 +pypdf==5.4.0 python-dateutil==2.9.0.post0 python-magic==0.4.27 python-poppler==0.4.1 diff --git a/mo/jobs/protocols.py b/mo/jobs/protocols.py index bdc652d3..ce07de51 100644 --- a/mo/jobs/protocols.py +++ b/mo/jobs/protocols.py @@ -11,7 +11,7 @@ from sqlalchemy import delete from sqlalchemy.orm import joinedload from sqlalchemy.orm.query import Query from typing import Dict, List, Optional, Tuple -import PyPDF2 +import pypdf import mo import mo.config as config @@ -574,13 +574,13 @@ def handle_sort_scans(the_job: TheJob): papers[index].pages.sort(key=lambda p: p.seq_id) # Poté poskládáme výsledné PDF soubory - readers: Dict[int, PyPDF2.PdfReader] = {} + readers: Dict[int, pypdf.PdfReader] = {} for index in papers: paper = papers[index] - writer = PyPDF2.PdfWriter() + writer = pypdf.PdfWriter() for p in paper.pages: if p.file_nr not in readers: - readers[p.file_nr] = PyPDF2.PdfReader(job.file_path(in_files[p.file_nr]), strict=False) + readers[p.file_nr] = pypdf.PdfReader(job.file_path(in_files[p.file_nr]), strict=False) # Přihodíme správnou stránku na výstup pp = readers[p.file_nr].pages[p.page_nr] if p.rotation > 0: diff --git a/setup.py b/setup.py index 8d6a31d5..91dc036f 100644 --- a/setup.py +++ b/setup.py @@ -36,7 +36,6 @@ setuptools.setup( # Udržujte prosím seřazené 'Flask', 'Flask-WTF', - 'PyPDF2', 'WTForms', 'bcrypt', 'bleach', @@ -50,6 +49,7 @@ setuptools.setup( 'pikepdf', 'pillow', 'psycopg2', + 'pypdf', 'python-magic', 'python-poppler', 'pyzbar', -- GitLab