Cédric Krier pushed to branch branch/default at Tryton / Tryton
Commits:
03e7faea by Cédric Krier at 2022-12-23T12:52:39+01:00
Support PyPDF2 version 3.0.0
PdfFileReader and PdfFileWriter raise a deprecation exception at run time but
the new names have been introduced only in version 2.0.0, 6 months ago.
Closes #11961
- - - - -
3 changed files:
- modules/account_invoice_watermark/account.py
- modules/stock_package_shipping_dpd/stock.py
- modules/stock_package_shipping_mygls/stock.py
Changes:
=====================================
modules/account_invoice_watermark/account.py
=====================================
@@ -2,7 +2,10 @@
# this repository contains the full copyright notices and license terms.
from io import BytesIO
-from PyPDF2 import PdfFileReader, PdfFileWriter
+try:
+ from PyPDF2 import PdfReader, PdfWriter
+except ImportError:
+ from PyPDF2 import PdfFileReader as PdfReader, PdfFileWriter as PdfWriter
from trytond.pool import Pool, PoolMeta
from trytond.report import Report
@@ -45,9 +48,9 @@
@classmethod
def merge(cls, invoice, watermark):
- output = PdfFileWriter()
- invoice = PdfFileReader(BytesIO(invoice))
- watermark = PdfFileReader(BytesIO(watermark)).getPage(0)
+ output = PdfWriter()
+ invoice = PdfReader(BytesIO(invoice))
+ watermark = PdfReader(BytesIO(watermark)).getPage(0)
for i in range(invoice.getNumPages()):
page = invoice.getPage(i)
page.mergePage(watermark)
=====================================
modules/stock_package_shipping_dpd/stock.py
=====================================
@@ -6,6 +6,5 @@
from itertools import zip_longest
from lxml import etree
-from PyPDF2 import PdfFileReader, PdfFileWriter
from zeep.exceptions import Fault
@@ -10,5 +9,10 @@
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
@@ -170,5 +174,5 @@
labels = []
labels_pdf = BytesIO(shipment_response.parcellabelsPDF)
- reader = PdfFileReader(labels_pdf)
+ reader = PdfReader(labels_pdf)
for page_num in range(reader.getNumPages()):
@@ -174,5 +178,5 @@
for page_num in range(reader.getNumPages()):
- new_pdf = PdfFileWriter()
+ new_pdf = PdfWriter()
new_label = BytesIO()
new_pdf.addPage(reader.getPage(page_num))
new_pdf.write(new_label)
=====================================
modules/stock_package_shipping_mygls/stock.py
=====================================
@@ -3,7 +3,10 @@
from io import BytesIO
from itertools import zip_longest
-from PyPDF2 import PdfFileReader, PdfFileWriter
+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
@@ -168,5 +171,5 @@
message=message))
labels = []
- reader = PdfFileReader(BytesIO(response.Labels))
+ reader = PdfReader(BytesIO(response.Labels))
for i in range(reader.getNumPages()):
@@ -172,5 +175,5 @@
for i in range(reader.getNumPages()):
- pdf = PdfFileWriter()
+ pdf = PdfWriter()
label = BytesIO()
pdf.addPage(reader.getPage(i))
pdf.write(label)
View it on Heptapod:
https://foss.heptapod.net/tryton/tryton/-/commit/03e7faead7e135035cdcdf7047eb16b37ed956e0
--
View it on Heptapod:
https://foss.heptapod.net/tryton/tryton/-/commit/03e7faead7e135035cdcdf7047eb16b37ed956e0
You're receiving this email because of your account on foss.heptapod.net.