winziprint: update progress more often

This commit is contained in:
2023-10-19 22:53:55 +02:00
parent 499cd2032e
commit 2a51991617

View File

@ -19,7 +19,7 @@ def convert(input_files: list[str], output_files: str, encoding: str = None, pro
page_nums = [] page_nums = []
tmp_file_names = [] tmp_file_names = []
steps = len(input_files) // BATCH_SIZE + 1 steps = len(input_files) + len(input_files) // BATCH_SIZE + 1
try: try:
for i in range(0, len(input_files), BATCH_SIZE): for i in range(0, len(input_files), BATCH_SIZE):
@ -30,8 +30,10 @@ def convert(input_files: list[str], output_files: str, encoding: str = None, pro
doc = html.render() doc = html.render()
documents.append(doc) documents.append(doc)
del html del html
if progress:
print(f'progress: {i + n + i // BATCH_SIZE + 1}/{steps}', flush=True)
all_pages = [p for doc in documents for p in doc.pages] all_pages = [p for doc in documents for p in doc.pages]
tmp_file_name = f'{output_files}.part.{i:0000}' tmp_file_name = f'{output_files}.part.{i:04}'
documents[0].copy(all_pages).write_pdf(tmp_file_name) documents[0].copy(all_pages).write_pdf(tmp_file_name)
tmp_file_names.append(tmp_file_name) tmp_file_names.append(tmp_file_name)
page_nums += [len(doc.pages) for doc in documents] page_nums += [len(doc.pages) for doc in documents]
@ -39,7 +41,7 @@ def convert(input_files: list[str], output_files: str, encoding: str = None, pro
del all_pages del all_pages
gc.collect() gc.collect()
if progress: if progress:
print(f'progress: {i // BATCH_SIZE + 1}/{steps}', flush=True) print(f'progress: {i + BATCH_SIZE + i // BATCH_SIZE + 1}/{steps}', flush=True)
merger = pypdf.PdfWriter() merger = pypdf.PdfWriter()
for pdf in tmp_file_names: for pdf in tmp_file_names: