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.


Reply via email to