From 2bfcec409c06c0b091acd7f31c99f5a9010b42e2 Mon Sep 17 00:00:00 2001 From: marmalade7586 Date: Fri, 26 Sep 2025 13:58:31 -0400 Subject: [PATCH 1/4] Update tagging.py --- services/tagging.py | 26 +++++++++++++++++++++----- 1 file changed, 21 insertions(+), 5 deletions(-) diff --git a/services/tagging.py b/services/tagging.py index bc2b75c..7298636 100644 --- a/services/tagging.py +++ b/services/tagging.py @@ -146,8 +146,16 @@ def copy_tags(flac_file: str, transcode_file: str): totaltracks = scrub_tag("tracktotal", flac_info["tracktotal"][0]) if totaltracks: - transcode_info["tracknumber"] = [ - "%s/%s" % (transcode_info["tracknumber"][0], totaltracks) + if transcode_info["tracknumber"][0].count("/") == 1: + slash_pos = transcode_info["tracknumber"][0].find("/") + first_num = transcode_info["tracknumber"][0][:slash_pos] + # second_num = transcode_info["tracknumber"][0][slash_pos+1:] + transcode_info["tracknumber"] = [ + "%s/%s" % (first_num, totaltracks) + ] + else: + transcode_info["tracknumber"] = [ + "%s/%s" % (transcode_info["tracknumber"][0], totaltracks) ] if "discnumber" in transcode_info.keys(): @@ -158,9 +166,17 @@ def copy_tags(flac_file: str, transcode_file: str): totaldiscs = scrub_tag("disctotal", flac_info["disctotal"][0]) if totaldiscs: - transcode_info["discnumber"] = [ - "%s/%s" % (transcode_info["discnumber"][0], totaldiscs) - ] + if transcode_info["discnumber"][0].count("/") == 1: + slash_pos = transcode_info["discnumber"][0].find("/") + first_num = transcode_info["discnumber"][0][:slash_pos] + # second_num = transcode_info["discnumber"][0][slash_pos+1:] + transcode_info["discnumber"] = [ + "%s/%s" % (first_num, totaldiscs) + ] + else: + transcode_info["discnumber"] = [ + "%s/%s" % (transcode_info["discnumber"][0], totaldiscs) + ] transcode_info.save() From 4796ba3cb54b1050926123436c5b66279aa4dc8b Mon Sep 17 00:00:00 2001 From: marmalade7586 Date: Mon, 29 Sep 2025 10:15:49 -0400 Subject: [PATCH 2/4] Update tagging.py --- services/tagging.py | 34 ++++++++++++---------------------- 1 file changed, 12 insertions(+), 22 deletions(-) diff --git a/services/tagging.py b/services/tagging.py index 7298636..6d710aa 100644 --- a/services/tagging.py +++ b/services/tagging.py @@ -146,17 +146,8 @@ def copy_tags(flac_file: str, transcode_file: str): totaltracks = scrub_tag("tracktotal", flac_info["tracktotal"][0]) if totaltracks: - if transcode_info["tracknumber"][0].count("/") == 1: - slash_pos = transcode_info["tracknumber"][0].find("/") - first_num = transcode_info["tracknumber"][0][:slash_pos] - # second_num = transcode_info["tracknumber"][0][slash_pos+1:] - transcode_info["tracknumber"] = [ - "%s/%s" % (first_num, totaltracks) - ] - else: - transcode_info["tracknumber"] = [ - "%s/%s" % (transcode_info["tracknumber"][0], totaltracks) - ] + track_number = transcode_info["tracknumber"][0] + transcode_info["tracknumber"] = format_track_and_disc_numbers(track_number,totaltracks) if "discnumber" in transcode_info.keys(): totaldiscs = None @@ -166,17 +157,8 @@ def copy_tags(flac_file: str, transcode_file: str): totaldiscs = scrub_tag("disctotal", flac_info["disctotal"][0]) if totaldiscs: - if transcode_info["discnumber"][0].count("/") == 1: - slash_pos = transcode_info["discnumber"][0].find("/") - first_num = transcode_info["discnumber"][0][:slash_pos] - # second_num = transcode_info["discnumber"][0][slash_pos+1:] - transcode_info["discnumber"] = [ - "%s/%s" % (first_num, totaldiscs) - ] - else: - transcode_info["discnumber"] = [ - "%s/%s" % (transcode_info["discnumber"][0], totaldiscs) - ] + disc_number = transcode_info["discnumber"][0] + transcode_info["discnumber"] = format_track_and_disc_numbers(disc_number,totaldiscs) transcode_info.save() @@ -207,6 +189,14 @@ def originaldate_get(id3, _): def originaldate_set(id3, _, value): id3.add(mutagen.id3.TDOR(encoding=3, text=value)) +def format_track_and_disc_numbers(single_text,total_text): + if single_text.count("/") == 1: + slash_pos = single_text.find("/") + first_num = single_text[:slash_pos] + return ["%s/%s" % (first_num, total_text)] + else: + return ["%s/%s" % (single_text, total_text)] + EasyID3.RegisterKey("comment", comment_get, comment_set) EasyID3.RegisterKey("description", comment_get, comment_set) From 6449c11ae9276d33de76697703e85a4de7ce9895 Mon Sep 17 00:00:00 2001 From: marmalade7586 Date: Sun, 21 Dec 2025 13:54:06 -0500 Subject: [PATCH 3/4] Create test_tracknumbers.py --- tests/test_tracknumbers.py | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 tests/test_tracknumbers.py diff --git a/tests/test_tracknumbers.py b/tests/test_tracknumbers.py new file mode 100644 index 0000000..9205971 --- /dev/null +++ b/tests/test_tracknumbers.py @@ -0,0 +1,9 @@ +from services import tagging + +class TrackNumTester: + def test_single(self): + assert tagging.format_track_and_disc_numbers("1","2") == "1/2" + assert tagging.format_track_and_disc_numbers("10/2","2") == "10/2" + assert tagging.format_track_and_disc_numbers("A1/3","4") == "A1/4" + assert tagging.format_track_and_disc_numbers("A1","2") == "A1/2" + assert tagging.format_track_and_disc_numbers("1/2","") == "1/2" From adcdae929abd5bc804686cbcadbb4ef1d956aca8 Mon Sep 17 00:00:00 2001 From: marmalade7586 Date: Sun, 21 Dec 2025 13:57:54 -0500 Subject: [PATCH 4/4] Update test_tracknumbers.py --- tests/test_tracknumbers.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_tracknumbers.py b/tests/test_tracknumbers.py index 9205971..b2dd1bc 100644 --- a/tests/test_tracknumbers.py +++ b/tests/test_tracknumbers.py @@ -1,4 +1,4 @@ -from services import tagging +import services.tagging as tagging class TrackNumTester: def test_single(self):