Replace PyPDF2 dependencies with pypdf

Closes #10907
This commit is contained in:
Udo Spallek
2023-07-10 23:55:00 +02:00
parent 35f2bcd09f
commit 94b423c471
6 changed files with 11 additions and 36 deletions
+4 -16
View File
@@ -2,10 +2,7 @@
# this repository contains the full copyright notices and license terms.
from io import BytesIO
try:
from PyPDF2 import PdfReader, PdfWriter
except ImportError:
from PyPDF2 import PdfFileReader as PdfReader, PdfFileWriter as PdfWriter
from pypdf import PdfReader, PdfWriter
from trytond.pool import Pool, PoolMeta
from trytond.report import Report
@@ -51,20 +48,11 @@ class Invoice(metaclass=PoolMeta):
output = PdfWriter()
invoice = PdfReader(BytesIO(invoice))
watermark = PdfReader(BytesIO(watermark))
if hasattr(watermark, 'pages'):
watermark = watermark.pages[0]
else:
watermark = watermark.getNumPages(0)
watermark = watermark.pages[0]
for i in range(len(invoice.pages)):
page = invoice.pages[i]
if hasattr(page, 'merge_page'):
page.merge_page(watermark)
else:
page.mergePage(watermark)
if hasattr(output, 'add_page'):
output.add_page(page)
else:
output.addPage(page)
page.merge_page(watermark)
output.add_page(page)
data = BytesIO()
output.write(data)
return data.getvalue()
+1 -1
View File
@@ -44,7 +44,7 @@ else:
download_url = 'http://downloads.tryton.org/%s.%s/' % (
major_version, minor_version)
requires = ['PyPDF2']
requires = ['pypdf >= 3']
for dep in info.get('depends', []):
if not re.match(r'(ir|res)(\W|$)', dep):
requires.append(get_require_version('trytond_%s' % dep))
+1 -1
View File
@@ -41,7 +41,7 @@ else:
download_url = 'http://downloads.tryton.org/%s.%s/' % (
major_version, minor_version)
requires = ['zeep >= 0.12', 'PyPDF2', 'lxml']
requires = ['zeep >= 0.12', 'pypdf >= 3', 'lxml']
for dep in info.get('depends', []):
if not re.match(r'(ir|res)(\W|$)', dep):
requires.append(get_require_version('trytond_%s' % dep))
+2 -9
View File
@@ -6,13 +6,9 @@ from io import BytesIO
from itertools import zip_longest
from lxml import etree
from pypdf import PdfReader, PdfWriter
from zeep.exceptions import Fault
try:
from PyPDF2 import PdfReader, PdfWriter
except ImportError:
from PyPDF2 import PdfFileReader as PdfReader, PdfFileWriter as PdfWriter
from trytond.i18n import gettext
from trytond.model import fields
from trytond.model.exceptions import AccessError
@@ -186,10 +182,7 @@ class CreateDPDShipping(Wizard):
for page in iter_pdf_pages(reader):
new_pdf = PdfWriter()
new_label = BytesIO()
if hasattr(new_pdf, 'add_page'):
new_pdf.add_page(page)
else:
new_pdf.addPage(page)
new_pdf.add_page(page)
new_pdf.write(new_label)
labels.append(new_label)
@@ -44,7 +44,7 @@ else:
download_url = 'http://downloads.tryton.org/%s.%s/' % (
major_version, minor_version)
requires = ['zeep', 'PyPDF2']
requires = ['zeep', 'pypdf >= 3']
for dep in info.get('depends', []):
if not re.match(r'(ir|res)(\W|$)', dep):
requires.append(get_require_version('trytond_%s' % dep))
@@ -3,10 +3,7 @@
from io import BytesIO
from itertools import zip_longest
try:
from PyPDF2 import PdfReader, PdfWriter
except ImportError:
from PyPDF2 import PdfFileReader as PdfReader, PdfFileWriter as PdfWriter
from pypdf import PdfReader, PdfWriter
from trytond.i18n import gettext
from trytond.model import fields
@@ -183,10 +180,7 @@ class ShipmentCreateShippingMyGLS(Wizard):
for i, page in enumerate(iter_pdf_pages(reader)):
pdf = PdfWriter()
label = BytesIO()
if hasattr(pdf, 'add_page'):
pdf.add_page(page)
else:
pdf.addPage(page)
pdf.add_page(page)
pdf.write(label)
if carrier.mygls_type_of_printer in {'A4_2x2', 'A4_4x1'}:
if carrier.mygls_type_of_printer == 'A4_2x2':