chore(deps): Bump PyPDF2 from 1.26.0 to 2.1.0
* Updated changes in API usages * changelog: https://github.com/py-pdf/PyPDF2/blob/main/CHANGELOG
This commit is contained in:
parent
3aef47200b
commit
ef0a92c849
4 changed files with 16 additions and 16 deletions
|
|
@ -3,7 +3,7 @@
|
|||
import io
|
||||
import unittest
|
||||
|
||||
from PyPDF2 import PdfFileReader
|
||||
from PyPDF2 import PdfReader
|
||||
|
||||
import frappe
|
||||
import frappe.utils.pdf as pdfgen
|
||||
|
|
@ -42,7 +42,7 @@ class TestPdf(unittest.TestCase):
|
|||
def test_pdf_encryption(self):
|
||||
password = "qwe"
|
||||
pdf = pdfgen.get_pdf(self.html, options={"password": password})
|
||||
reader = PdfFileReader(io.BytesIO(pdf))
|
||||
reader = PdfReader(io.BytesIO(pdf))
|
||||
self.assertTrue(reader.isEncrypted)
|
||||
self.assertTrue(reader.decrypt(password))
|
||||
|
||||
|
|
|
|||
|
|
@ -5,10 +5,11 @@ import os
|
|||
import re
|
||||
import subprocess
|
||||
from distutils.version import LooseVersion
|
||||
from typing import Optional
|
||||
|
||||
import pdfkit
|
||||
from bs4 import BeautifulSoup
|
||||
from PyPDF2 import PdfFileReader, PdfFileWriter
|
||||
from PyPDF2 import PdfReader, PdfWriter
|
||||
|
||||
import frappe
|
||||
from frappe import _
|
||||
|
|
@ -23,7 +24,7 @@ PDF_CONTENT_ERRORS = [
|
|||
]
|
||||
|
||||
|
||||
def get_pdf(html, options=None, output=None):
|
||||
def get_pdf(html, options=None, output: Optional[PdfWriter] = None):
|
||||
html = scrub_urls(html)
|
||||
html, options = prepare_options(html, options)
|
||||
|
||||
|
|
@ -37,9 +38,8 @@ def get_pdf(html, options=None, output=None):
|
|||
# Set filename property to false, so no file is actually created
|
||||
filedata = pdfkit.from_string(html, options=options or {}, verbose=True)
|
||||
|
||||
# https://pythonhosted.org/PyPDF2/PdfFileReader.html
|
||||
# create in-memory binary streams from filedata and create a PdfFileReader object
|
||||
reader = PdfFileReader(io.BytesIO(filedata))
|
||||
# create in-memory binary streams from filedata and create a PdfReader object
|
||||
reader = PdfReader(io.BytesIO(filedata))
|
||||
except OSError as e:
|
||||
if any([error in str(e) for error in PDF_CONTENT_ERRORS]):
|
||||
if not filedata:
|
||||
|
|
@ -47,8 +47,8 @@ def get_pdf(html, options=None, output=None):
|
|||
frappe.throw(_("PDF generation failed because of broken image links"))
|
||||
|
||||
# allow pdfs with missing images if file got created
|
||||
if output: # output is a PdfFileWriter object
|
||||
output.appendPagesFromReader(reader)
|
||||
if output:
|
||||
output.append_pages_from_reader(reader)
|
||||
else:
|
||||
raise
|
||||
finally:
|
||||
|
|
@ -58,11 +58,11 @@ def get_pdf(html, options=None, output=None):
|
|||
password = options["password"]
|
||||
|
||||
if output:
|
||||
output.appendPagesFromReader(reader)
|
||||
output.append_pages_from_reader(reader)
|
||||
return output
|
||||
|
||||
writer = PdfFileWriter()
|
||||
writer.appendPagesFromReader(reader)
|
||||
writer = PdfWriter()
|
||||
writer.append_pages_from_reader(reader)
|
||||
|
||||
if "password" in options:
|
||||
writer.encrypt(password)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
import os
|
||||
|
||||
from PyPDF2 import PdfFileWriter
|
||||
from PyPDF2 import PdfWriter
|
||||
|
||||
import frappe
|
||||
from frappe import _
|
||||
|
|
@ -58,7 +58,7 @@ def download_multi_pdf(doctype, name, format=None, no_letterhead=False, options=
|
|||
|
||||
import json
|
||||
|
||||
output = PdfFileWriter()
|
||||
output = PdfWriter()
|
||||
|
||||
if isinstance(options, str):
|
||||
options = json.loads(options)
|
||||
|
|
@ -152,7 +152,7 @@ def print_by_server(
|
|||
cups.setServer(print_settings.server_ip)
|
||||
cups.setPort(print_settings.port)
|
||||
conn = cups.Connection()
|
||||
output = PdfFileWriter()
|
||||
output = PdfWriter()
|
||||
output = frappe.get_print(
|
||||
doctype, name, print_format, doc=doc, no_letterhead=no_letterhead, as_pdf=True, output=output
|
||||
)
|
||||
|
|
|
|||
|
|
@ -43,7 +43,7 @@ PyJWT~=2.0.1
|
|||
PyMySQL~=1.0.2
|
||||
pyOpenSSL~=20.0.1
|
||||
pyotp~=2.6.0
|
||||
PyPDF2~=1.26.0
|
||||
PyPDF2~=2.1.0
|
||||
PyPika~=0.48.9
|
||||
pypng~=0.0.20
|
||||
PyQRCode~=1.2.1
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue