From 042aac71ebdfe6e412d41d77c012b8e714cbfbb9 Mon Sep 17 00:00:00 2001 From: Johannes 'josch' Schauer Date: Wed, 5 Aug 2020 08:13:52 +0200 Subject: [PATCH] reformat with black --- setup.py | 50 ++++++++++++++++++++++++-------------------------- src/img2pdf.py | 2 +- src/jp2.py | 39 +++++++++++++++++++-------------------- 3 files changed, 44 insertions(+), 47 deletions(-) diff --git a/setup.py b/setup.py index 05d9c01..92a823a 100644 --- a/setup.py +++ b/setup.py @@ -4,48 +4,46 @@ from setuptools import setup VERSION = "0.3.6" INSTALL_REQUIRES = ( - 'Pillow', - 'pikepdf', + "Pillow", + "pikepdf", ) setup( - name='img2pdf', + name="img2pdf", version=VERSION, author="Johannes 'josch' Schauer", - author_email='josch@mister-muffin.de', + author_email="josch@mister-muffin.de", description="Convert images to PDF via direct JPEG inclusion.", - long_description=open('README.md').read(), - long_description_content_type='text/markdown', + long_description=open("README.md").read(), + long_description_content_type="text/markdown", license="LGPL", keywords="jpeg pdf converter", classifiers=[ - 'Development Status :: 5 - Production/Stable', - 'Intended Audience :: Developers', - 'Intended Audience :: Other Audience', - 'Environment :: Console', - 'Programming Language :: Python', - 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.5', - 'Programming Language :: Python :: Implementation :: CPython', + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "Intended Audience :: Other Audience", + "Environment :: Console", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.5", + "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", - 'License :: OSI Approved :: GNU Lesser General Public License v3 ' - '(LGPLv3)', - 'Natural Language :: English', - 'Operating System :: OS Independent'], - url='https://gitlab.mister-muffin.de/josch/img2pdf', - download_url='https://gitlab.mister-muffin.de/josch/img2pdf/repository/' - 'archive.tar.gz?ref=' + VERSION, + "License :: OSI Approved :: GNU Lesser General Public License v3 " "(LGPLv3)", + "Natural Language :: English", + "Operating System :: OS Independent", + ], + url="https://gitlab.mister-muffin.de/josch/img2pdf", + download_url="https://gitlab.mister-muffin.de/josch/img2pdf/repository/" + "archive.tar.gz?ref=" + VERSION, package_dir={"": "src"}, - py_modules=['img2pdf', 'jp2'], + py_modules=["img2pdf", "jp2"], include_package_data=True, zip_safe=True, install_requires=INSTALL_REQUIRES, - extras_require={ - 'gui': ('tkinter'), - }, + extras_require={"gui": ("tkinter"),}, entry_points={ "setuptools.installation": ["eggsecutable = img2pdf:main"], "console_scripts": ["img2pdf = img2pdf:main"], "gui_scripts": ["img2pdf-gui = img2pdf:gui"], }, - ) +) diff --git a/src/img2pdf.py b/src/img2pdf.py index e944d99..be61bd8 100755 --- a/src/img2pdf.py +++ b/src/img2pdf.py @@ -1306,7 +1306,7 @@ def parse_png(rawdata): i = 16 while i < len(rawdata): # once we can require Python >= 3.2 we can use int.from_bytes() instead - n, = struct.unpack(">I", rawdata[i - 8 : i - 4]) + (n,) = struct.unpack(">I", rawdata[i - 8 : i - 4]) if i + n > len(rawdata): raise Exception("invalid png: %d %d %d" % (i, n, len(rawdata))) if rawdata[i - 4 : i] == b"IDAT": diff --git a/src/jp2.py b/src/jp2.py index 30edb7e..1f99a5c 100644 --- a/src/jp2.py +++ b/src/jp2.py @@ -23,16 +23,16 @@ import struct def getBox(data, byteStart, noBytes): - boxLengthValue = struct.unpack(">I", data[byteStart:byteStart+4])[0] - boxType = data[byteStart+4:byteStart+8] + boxLengthValue = struct.unpack(">I", data[byteStart : byteStart + 4])[0] + boxType = data[byteStart + 4 : byteStart + 8] contentsStartOffset = 8 if boxLengthValue == 1: - boxLengthValue = struct.unpack(">Q", data[byteStart+8:byteStart+16])[0] + boxLengthValue = struct.unpack(">Q", data[byteStart + 8 : byteStart + 16])[0] contentsStartOffset = 16 if boxLengthValue == 0: - boxLengthValue = noBytes-byteStart + boxLengthValue = noBytes - byteStart byteEnd = byteStart + boxLengthValue - boxContents = data[byteStart+contentsStartOffset:byteEnd] + boxContents = data[byteStart + contentsStartOffset : byteEnd] return (boxLengthValue, boxType, byteEnd, boxContents) @@ -52,14 +52,15 @@ def parse_colr(data): elif enumCS == 17: return "L" else: - raise Exception("only sRGB and greyscale color space is supported, " - "got %d" % enumCS) + raise Exception( + "only sRGB and greyscale color space is supported, " "got %d" % enumCS + ) def parse_resc(data): hnum, hden, vnum, vden, hexp, vexp = struct.unpack(">HHHHBB", data) - hdpi = ((hnum/hden) * (10**hexp) * 100)/2.54 - vdpi = ((vnum/vden) * (10**vexp) * 100)/2.54 + hdpi = ((hnum / hden) * (10 ** hexp) * 100) / 2.54 + vdpi = ((vnum / vden) * (10 ** vexp) * 100) / 2.54 return hdpi, vdpi @@ -69,9 +70,8 @@ def parse_res(data): byteStart = 0 boxLengthValue = 1 # dummy value for while loop condition while byteStart < noBytes and boxLengthValue != 0: - boxLengthValue, boxType, byteEnd, boxContents = \ - getBox(data, byteStart, noBytes) - if boxType == b'resc': + boxLengthValue, boxType, byteEnd, boxContents = getBox(data, byteStart, noBytes) + if boxType == b"resc": hdpi, vdpi = parse_resc(boxContents) break return hdpi, vdpi @@ -83,13 +83,12 @@ def parse_jp2h(data): byteStart = 0 boxLengthValue = 1 # dummy value for while loop condition while byteStart < noBytes and boxLengthValue != 0: - boxLengthValue, boxType, byteEnd, boxContents = \ - getBox(data, byteStart, noBytes) - if boxType == b'ihdr': + boxLengthValue, boxType, byteEnd, boxContents = getBox(data, byteStart, noBytes) + if boxType == b"ihdr": width, height = parse_ihdr(boxContents) - elif boxType == b'colr': + elif boxType == b"colr": colorspace = parse_colr(boxContents) - elif boxType == b'res ': + elif boxType == b"res ": hdpi, vdpi = parse_res(boxContents) byteStart = byteEnd return (width, height, colorspace, hdpi, vdpi) @@ -101,9 +100,8 @@ def parsejp2(data): boxLengthValue = 1 # dummy value for while loop condition width, height, colorspace, hdpi, vdpi = None, None, None, None, None while byteStart < noBytes and boxLengthValue != 0: - boxLengthValue, boxType, byteEnd, boxContents = \ - getBox(data, byteStart, noBytes) - if boxType == b'jp2h': + boxLengthValue, boxType, byteEnd, boxContents = getBox(data, byteStart, noBytes) + if boxType == b"jp2h": width, height, colorspace, hdpi, vdpi = parse_jp2h(boxContents) break byteStart = byteEnd @@ -119,6 +117,7 @@ def parsejp2(data): if __name__ == "__main__": import sys + width, height, colorspace = parsejp2(open(sys.argv[1]).read()) sys.stdout.write("width = %d" % width) sys.stdout.write("height = %d" % height)