winziprint.py: Fix list index out of range error
This commit is contained in:
@ -16,7 +16,7 @@ import weasyprint
|
|||||||
import pypdf
|
import pypdf
|
||||||
|
|
||||||
|
|
||||||
VERSION = __version__ = '0.2.0'
|
VERSION = __version__ = '0.2.1'
|
||||||
SOCKET_ADDRESS = ('127.0.0.1', 30983)
|
SOCKET_ADDRESS = ('127.0.0.1', 30983)
|
||||||
|
|
||||||
BATCH_SIZE = 10
|
BATCH_SIZE = 10
|
||||||
@ -41,7 +41,7 @@ def convert_part(output_file: str, batch: list[str], step_cb: Callable, encoding
|
|||||||
|
|
||||||
|
|
||||||
def convert(input_files: list[str],
|
def convert(input_files: list[str],
|
||||||
output_files: str,
|
output_file: str,
|
||||||
encoding: str = None,
|
encoding: str = None,
|
||||||
padding: bool = False,
|
padding: bool = False,
|
||||||
progress: bool = False,
|
progress: bool = False,
|
||||||
@ -62,7 +62,7 @@ def convert(input_files: list[str],
|
|||||||
try:
|
try:
|
||||||
tmp_page_nums = []
|
tmp_page_nums = []
|
||||||
for i in range(0, len(html_files), BATCH_SIZE):
|
for i in range(0, len(html_files), BATCH_SIZE):
|
||||||
tmp_file = f'{output_files}.{i:04}.part'
|
tmp_file = f'{output_file}.{i:04}.part'
|
||||||
tmp_file_names.append(tmp_file)
|
tmp_file_names.append(tmp_file)
|
||||||
batch = html_files[i:i + BATCH_SIZE]
|
batch = html_files[i:i + BATCH_SIZE]
|
||||||
tmp_page_nums += convert_part(tmp_file, batch, next_step, encoding=encoding)
|
tmp_page_nums += convert_part(tmp_file, batch, next_step, encoding=encoding)
|
||||||
@ -83,11 +83,11 @@ def convert(input_files: list[str],
|
|||||||
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 file_name.startswith('#'):
|
||||||
r = pypdf.PdfReader(tmp_file_names[n // BATCH_SIZE])
|
r = pypdf.PdfReader(tmp_file_names[i // BATCH_SIZE])
|
||||||
letterhead = r.pages[0]
|
letterhead = r.pages[0]
|
||||||
del r
|
del r
|
||||||
else:
|
else:
|
||||||
merger.append(tmp_file_names[n // BATCH_SIZE], pages=(page_start, page_start + tmp_page_nums[i]))
|
merger.append(tmp_file_names[i // BATCH_SIZE], pages=(page_start, page_start + tmp_page_nums[i]))
|
||||||
i += 1
|
i += 1
|
||||||
p1 = len(merger.pages)
|
p1 = len(merger.pages)
|
||||||
page_nums.append(p1 - p0)
|
page_nums.append(p1 - p0)
|
||||||
@ -102,7 +102,7 @@ def convert(input_files: list[str],
|
|||||||
merger.insert_blank_page(index=1)
|
merger.insert_blank_page(index=1)
|
||||||
page_nums.pop(0)
|
page_nums.pop(0)
|
||||||
page_nums.insert(0, 1)
|
page_nums.insert(0, 1)
|
||||||
merger.write(output_files)
|
merger.write(output_file)
|
||||||
merger.close()
|
merger.close()
|
||||||
del merger
|
del merger
|
||||||
finally:
|
finally:
|
||||||
@ -145,7 +145,7 @@ def _wrapper_convert(args: list[str],
|
|||||||
total = sum(p + 1 if padding and p % 2 != 0 else p for p in pages)
|
total = sum(p + 1 if padding and p % 2 != 0 else p for p in pages)
|
||||||
t1 = time.process_time()
|
t1 = time.process_time()
|
||||||
print(f'success: '
|
print(f'success: '
|
||||||
f'{len(args) - 1} documents, '
|
f'{len(inputs)} documents, '
|
||||||
f'{total} pages ({", ".join(str(p) for p in pages)}), '
|
f'{total} pages ({", ".join(str(p) for p in pages)}), '
|
||||||
f'{t1 - t0:.1f} sec',
|
f'{t1 - t0:.1f} sec',
|
||||||
file=out, flush=True)
|
file=out, flush=True)
|
||||||
|
Reference in New Issue
Block a user