Improve deep scan logging — show existing track counts, not just new
Per-artist log lines now show the full details string from the worker (e.g. "5 albums, 0 new tracks (150 existing updated)") instead of just "5 albums, 0 tracks". Finished message shows "library up to date" when no new content is found instead of "0 successful, 0 failed".
This commit is contained in:
parent
0e8e3e86a0
commit
62251a66bf
1 changed files with 26 additions and 2 deletions
|
|
@ -24374,8 +24374,10 @@ def _db_update_phase_callback(phase):
|
||||||
|
|
||||||
def _db_update_artist_callback(artist_name, success, details, album_count, track_count):
|
def _db_update_artist_callback(artist_name, success, details, album_count, track_count):
|
||||||
if success:
|
if success:
|
||||||
|
# Use the details string from the worker — it includes context like "0 new tracks (150 existing updated)"
|
||||||
|
log_msg = f'{artist_name} — {details}' if details else f'{artist_name} — {album_count} albums, {track_count} tracks'
|
||||||
_update_automation_progress(_db_update_automation_id,
|
_update_automation_progress(_db_update_automation_id,
|
||||||
log_line=f'{artist_name} — {album_count} albums, {track_count} tracks',
|
log_line=log_msg,
|
||||||
log_type='success')
|
log_type='success')
|
||||||
else:
|
else:
|
||||||
_update_automation_progress(_db_update_automation_id,
|
_update_automation_progress(_db_update_automation_id,
|
||||||
|
|
@ -24396,10 +24398,32 @@ def _db_update_finished_callback(total_artists, total_albums, total_tracks, succ
|
||||||
removal_msg = ""
|
removal_msg = ""
|
||||||
if removed_artists > 0 or removed_albums > 0:
|
if removed_artists > 0 or removed_albums > 0:
|
||||||
removal_msg = f" | Removed: {removed_artists} artists, {removed_albums} albums"
|
removal_msg = f" | Removed: {removed_artists} artists, {removed_albums} albums"
|
||||||
|
if removed_tracks > 0:
|
||||||
|
removal_msg += f", {removed_tracks} tracks"
|
||||||
|
|
||||||
|
# Build a clear summary message
|
||||||
|
# For deep scans: total_tracks = new tracks only, successful = artists processed
|
||||||
|
# Include skipped/existing count when available for clarity
|
||||||
|
skipped_tracks = 0
|
||||||
|
if db_update_worker:
|
||||||
|
skipped_tracks = getattr(db_update_worker, '_total_skipped', 0)
|
||||||
|
# Calculate from processed counts if not tracked directly
|
||||||
|
if not skipped_tracks:
|
||||||
|
total_processed = getattr(db_update_worker, 'processed_tracks', 0)
|
||||||
|
if total_processed == 0 and total_tracks == 0 and successful > 0:
|
||||||
|
# Deep scan with nothing new — show artists scanned
|
||||||
|
skipped_tracks = getattr(db_update_worker, 'processed_albums', 0)
|
||||||
|
|
||||||
|
if total_tracks > 0:
|
||||||
|
phase_msg = f"Completed: {total_artists} artists, {total_albums} albums, {total_tracks} new tracks{removal_msg}."
|
||||||
|
elif successful > 0:
|
||||||
|
phase_msg = f"Completed: {successful} artists scanned, library up to date{removal_msg}."
|
||||||
|
else:
|
||||||
|
phase_msg = f"Completed: {successful} successful, {failed} failed{removal_msg}."
|
||||||
|
|
||||||
with db_update_lock:
|
with db_update_lock:
|
||||||
db_update_state["status"] = "finished"
|
db_update_state["status"] = "finished"
|
||||||
db_update_state["phase"] = f"Completed: {successful} successful, {failed} failed{removal_msg}."
|
db_update_state["phase"] = phase_msg
|
||||||
db_update_state["total_albums"] = total_albums
|
db_update_state["total_albums"] = total_albums
|
||||||
db_update_state["total_tracks"] = total_tracks
|
db_update_state["total_tracks"] = total_tracks
|
||||||
db_update_state["removed_artists"] = removed_artists
|
db_update_state["removed_artists"] = removed_artists
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue