From 3ef251621038531d7733138aa60ca3c5cee10340 Mon Sep 17 00:00:00 2001 From: geoffrey45 Date: Sat, 15 Apr 2023 11:41:24 +0300 Subject: [PATCH] fix duplicate tracks due to use of extract_feat ~ caused duplicate tracks to have different track hashes --- app/db/sqlite/migrations.py | 9 ++++++--- app/models/track.py | 8 ++++++++ 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/app/db/sqlite/migrations.py b/app/db/sqlite/migrations.py index 93763f5..71a0865 100644 --- a/app/db/sqlite/migrations.py +++ b/app/db/sqlite/migrations.py @@ -2,14 +2,17 @@ Reads and saves the latest database migrations version. """ - from app.db.sqlite.utils import SQLiteManager class MigrationManager: all_get_sql = "SELECT * FROM migrations" - pre_init_set_sql = "UPDATE migrations SET pre_init_version = ? WHERE id = 1" - post_init_set_sql = "UPDATE migrations SET post_init_version = ? WHERE id = 1" + + _base = "UPDATE migrations SET" + _end = "= ? WHERE id = 1" + + pre_init_set_sql = f"{_base} pre_init_version {_end}" + post_init_set_sql = f"{_base} post_init_version {_end}" @classmethod def get_preinit_version(cls) -> int: diff --git a/app/models/track.py b/app/models/track.py index 81e91ce..0d1acf4 100644 --- a/app/models/track.py +++ b/app/models/track.py @@ -68,3 +68,11 @@ class Track: self.genre = str(self.genre).replace("/", ",").replace(";", ",") self.genre = str(self.genre).lower().split(",") self.genre = [g.strip() for g in self.genre] + + self.recreate_hash() + + def recreate_hash(self): + if self.og_title == self.title: + return + + self.trackhash = create_hash(", ".join([a.name for a in self.artist]), self.album, self.title)