diff --git a/src/ipod_nano7_db.py b/src/ipod_nano7_db.py index cdb1c01..d810873 100644 --- a/src/ipod_nano7_db.py +++ b/src/ipod_nano7_db.py @@ -485,7 +485,8 @@ class Nano7Database: dd = delta_stats.get(location, {}) pc = bs.get("play_count", 0) + dd.get("play_count", 0) sc = bs.get("skip_count", 0) + dd.get("skip_count", 0) - rating = dd.get("rating", 0) or bs.get("rating", 0) + dd_rt = dd.get("rating", 0) + rating = dd_rt if dd_rt >= 0 else bs.get("rating", 0) tracks.append({ "pid": s["pid"], "title": s.get("title") or os.path.splitext(s["file_name"])[0], @@ -660,7 +661,8 @@ class Nano7Database: bs.get("skip_count", 0), local_pc.get("skip_count", 0), ) + dd.get("skip_count", 0) - s["rating"] = dd.get("rating", 0) or bs.get("rating", 0) or local_pc.get("rating", 0) + dd_rating = dd.get("rating", 0) + s["rating"] = dd_rating if dd_rating >= 0 else bs.get("rating", 0) or local_pc.get("rating", 0) s["last_played"] = max( bs.get("last_played", 0), local_pc.get("last_played", 0), diff --git a/src/worker.py b/src/worker.py index 4184cb7..d89ed99 100644 --- a/src/worker.py +++ b/src/worker.py @@ -240,7 +240,8 @@ class WorkerThread(QThread): entry.get("skip_count", 0), bs.get("skip_count", 0), ) + dd.get("skip_count", 0) - entry["rating"] = dd.get("rating", 0) or bs.get("rating", 0) or entry.get("rating", 0) + dd_rating = dd.get("rating", 0) + entry["rating"] = dd_rating if dd_rating >= 0 else bs.get("rating", 0) or entry.get("rating", 0) entry["last_played"] = max( entry.get("last_played", 0), bs.get("last_played", 0),