Fix playlist folder downloads marked as failed despite successful processing

pull/253/head
Broque Thomas 2 months ago
parent aebaa900c9
commit abec2965ac

@ -13452,6 +13452,9 @@ def _post_process_matched_download(context_key, context, file_path):
_safe_move_file(file_path, final_path)
# Store final path for verification wrapper (before lossy copy may override)
context['_final_processed_path'] = final_path
# Lossy copy: create MP3 version if enabled
blasphemy_path = _create_lossy_copy(final_path)
if blasphemy_path:
@ -13461,7 +13464,7 @@ def _post_process_matched_download(context_key, context, file_path):
downloads_path = docker_resolve_path(config_manager.get('soulseek.download_path', './downloads'))
_cleanup_empty_directories(downloads_path, file_path)
print(f"✅ [Playlist Folder Mode] Post-processing complete: {context.get('_final_processed_path', final_path)}")
print(f"✅ [Playlist Folder Mode] Post-processing complete: {final_path}")
# WISHLIST REMOVAL: Check if this track should be removed from wishlist
try:
@ -13471,8 +13474,18 @@ def _post_process_matched_download(context_key, context, file_path):
_emit_track_downloaded(context)
# NOTE: Don't call callbacks here - let verification function handle completion
# The verification function will check file exists and then call callbacks
# Mark as stream processed so the verification worker doesn't search
# for the file by its original Soulseek name (which no longer exists after rename)
task_id = context.get('task_id')
batch_id = context.get('batch_id')
if task_id and batch_id:
with tasks_lock:
if task_id in download_tasks:
download_tasks[task_id]['stream_processed'] = True
download_tasks[task_id]['status'] = 'completed'
print(f"✅ [Playlist Folder Mode] Marked task {task_id} as completed")
_on_download_completed(batch_id, task_id, success=True)
return # Skip normal album/artist folder structure processing
is_album_download = context.get("is_album_download", False)

Loading…
Cancel
Save