diff --git a/pdf_renamer.py b/pdf_renamer.py index 24fc920..5410a57 100644 --- a/pdf_renamer.py +++ b/pdf_renamer.py @@ -83,13 +83,27 @@ def process_job(job_id, files): os.makedirs(episode_dir, exist_ok=True) job_queue[job_id]['progress'] = 'Created output directory structure' + # Analyze ZIP contents before processing + zip_contents = {} + for file_info in files: + if file_info['name'].lower().endswith('.zip'): + try: + with zipfile.ZipFile(file_info['path'], 'r') as zip_ref: + pdf_files = [f for f in zip_ref.namelist() if f.lower().endswith('.pdf')] + zip_contents[file_info['name']] = pdf_files + except Exception as e: + zip_contents[file_info['name']] = [f"Error reading ZIP: {str(e)}"] + + job_queue[job_id]['zip_contents'] = zip_contents + total_files = sum(1 for file_info in files if file_info['name'].lower().endswith('.pdf')) + \ - sum(len([f for f in zipfile.ZipFile(file_info['path']).namelist() - if f.lower().endswith('.pdf')]) + sum(len(zip_contents.get(file_info['name'], [])) for file_info in files if file_info['name'].lower().endswith('.zip')) processed_count = 0 + processed_count = 0 + for file_info in files: filepath = file_info['path'] filename = file_info['name'] @@ -365,8 +379,9 @@ def jobs(): .download-btn:hover { background-color: #0056b3; } .logout { position: absolute; top: 20px; right: 20px; background-color: #dc3545; color: white; text-decoration: none; padding: 10px 20px; border-radius: 5px; } .logout:hover { background-color: #c82333; } + .zip-content { background-color: #f8f9fa; padding: 10px; margin: 5px 0; border-radius: 5px; border-left: 4px solid #007bff; } ul { list-style-type: none; padding: 0; } - li { background-color: #f8f9fa; margin: 2px 0; padding: 5px; border-radius: 3px; } + li { background-color: #ffffff; margin: 2px 0; padding: 5px; border-radius: 3px; }
@@ -381,6 +396,19 @@ def jobs():Progress: {{ job.progress }}
{% endif %}Files: {{ job.files|length }}
+ {% if job.zip_contents %} +ZIP Contents:
+ {% for zip_name, pdf_files in job.zip_contents.items() %} +