diff --git a/modules/account_invoice_watermark/account.py b/modules/account_invoice_watermark/account.py index 0fb4a470ad..6c7bb5b397 100644 --- a/modules/account_invoice_watermark/account.py +++ b/modules/account_invoice_watermark/account.py @@ -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() diff --git a/modules/account_invoice_watermark/setup.py b/modules/account_invoice_watermark/setup.py index 70cccc87e0..beadfa1b3d 100755 --- a/modules/account_invoice_watermark/setup.py +++ b/modules/account_invoice_watermark/setup.py @@ -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)) diff --git a/modules/stock_package_shipping_dpd/setup.py b/modules/stock_package_shipping_dpd/setup.py index 1d582a35cc..fa347580cf 100755 --- a/modules/stock_package_shipping_dpd/setup.py +++ b/modules/stock_package_shipping_dpd/setup.py @@ -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)) diff --git a/modules/stock_package_shipping_dpd/stock.py b/modules/stock_package_shipping_dpd/stock.py index 243e9d4041..eee3fc609a 100644 --- a/modules/stock_package_shipping_dpd/stock.py +++ b/modules/stock_package_shipping_dpd/stock.py @@ -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) diff --git a/modules/stock_package_shipping_mygls/setup.py b/modules/stock_package_shipping_mygls/setup.py index df941a729b..00df26d6fb 100755 --- a/modules/stock_package_shipping_mygls/setup.py +++ b/modules/stock_package_shipping_mygls/setup.py @@ -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)) diff --git a/modules/stock_package_shipping_mygls/stock.py b/modules/stock_package_shipping_mygls/stock.py index 91cd47f624..17fd4e85f4 100644 --- a/modules/stock_package_shipping_mygls/stock.py +++ b/modules/stock_package_shipping_mygls/stock.py @@ -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':