winziprint.py: Fix list index error

This commit is contained in:
2024-03-02 18:24:29 +01:00
parent 8f0588e8f3
commit 7945e0ae8a

View File

@ -16,7 +16,7 @@ import weasyprint
import pypdf import pypdf
VERSION = __version__ = '0.2.1' VERSION = __version__ = '0.2.2'
SOCKET_ADDRESS = ('127.0.0.1', 30983) SOCKET_ADDRESS = ('127.0.0.1', 30983)
BATCH_SIZE = 10 BATCH_SIZE = 10
@ -78,7 +78,7 @@ def convert(input_files: list[str],
page_nums[letterhead[1]] = 1 page_nums[letterhead[1]] = 1
letterhead = None letterhead = None
if file_name.endswith('.pdf'): if file_name.endswith('.pdf'):
if file_name.startswith('#'): if padding and file_name.startswith('#'):
r = pypdf.PdfReader(file_name.lstrip('!#')) r = pypdf.PdfReader(file_name.lstrip('!#'))
letterhead = (r.pages[0], p0) letterhead = (r.pages[0], p0)
del r del r
@ -87,7 +87,7 @@ def convert(input_files: list[str],
else: else:
batch_page_nums = tmp_page_nums[i // BATCH_SIZE * BATCH_SIZE:(i // BATCH_SIZE + 1) * BATCH_SIZE] batch_page_nums = tmp_page_nums[i // BATCH_SIZE * BATCH_SIZE:(i // BATCH_SIZE + 1) * BATCH_SIZE]
page_start = sum(batch_page_nums[:i % BATCH_SIZE]) page_start = sum(batch_page_nums[:i % BATCH_SIZE])
if file_name.startswith('#'): if padding and file_name.startswith('#'):
r = pypdf.PdfReader(tmp_file_names[i // BATCH_SIZE]) r = pypdf.PdfReader(tmp_file_names[i // BATCH_SIZE])
letterhead = (r.pages[0], p0) letterhead = (r.pages[0], p0)
del r del r
@ -96,7 +96,7 @@ def convert(input_files: list[str],
i += 1 i += 1
p1 = len(merger.pages) p1 = len(merger.pages)
page_nums.append(p1 - p0) page_nums.append(p1 - p0)
if padding and file_name[0] != '!' and len(merger.pages) % 2 != 0: if padding and file_name[0] not in ('!', '#') and len(merger.pages) % 2 != 0:
if letterhead: if letterhead:
merger.add_page(letterhead[0]) merger.add_page(letterhead[0])
letterhead = None letterhead = None