From cc33cd847a3ea96cc3c0df8fde8d79a5da2b7f08 Mon Sep 17 00:00:00 2001 From: charlesxie <408737515@qq.com> Date: Tue, 25 Jul 2023 16:14:06 +0800 Subject: [PATCH] =?UTF-8?q?feature=EF=BC=9A=E6=94=AF=E6=8C=81=E7=BC=96?= =?UTF-8?q?=E8=BE=91=E4=B8=93=E8=BE=91=E8=89=BA=E6=9C=AF=E5=AE=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- applications/task/serialziers.py | 1 + applications/task/services/update_ids.py | 6 ++++++ applications/task/tasks.py | 2 +- applications/task/views.py | 5 +++-- web/src/views/home/home.vue | 16 ++++++++++++++-- 5 files changed, 25 insertions(+), 5 deletions(-) diff --git a/applications/task/serialziers.py b/applications/task/serialziers.py index 7574bbc..673ab75 100644 --- a/applications/task/serialziers.py +++ b/applications/task/serialziers.py @@ -14,6 +14,7 @@ class MusicId3Serializer(serializers.Serializer): title = serializers.CharField(required=True, allow_null=True, allow_blank=True) artist = serializers.CharField(required=True, allow_null=True, allow_blank=True) album = serializers.CharField(required=True, allow_null=True, allow_blank=True) + albumartist = serializers.CharField(required=True, allow_null=True, allow_blank=True) genre = serializers.CharField(required=True, allow_null=True, allow_blank=True) year = serializers.CharField(required=True, allow_null=True, allow_blank=True) lyrics = serializers.CharField(required=True, allow_null=True, allow_blank=True) diff --git a/applications/task/services/update_ids.py b/applications/task/services/update_ids.py index 4b9d346..a19887a 100644 --- a/applications/task/services/update_ids.py +++ b/applications/task/services/update_ids.py @@ -28,6 +28,7 @@ def save_music(f, each, is_raw_thumbnail): var_dict = { "title": f["title"].value, "artist": f["artist"].value, + "albumartist": f["albumartist"].value, "album": f["album"].value, "filename": base_filename } @@ -46,6 +47,11 @@ def save_music(f, each, is_raw_thumbnail): f["album"] = ConstantTemplate(each["album"]).resolve_data(var_dict) else: f["album"] = each["album"] + if each.get("albumartist", None): + if "${" in each["albumartist"]: + f["albumartist"] = ConstantTemplate(each["albumartist"]).resolve_data(var_dict) + else: + f["albumartist"] = each["albumartist"] if each.get("genre", None): f["genre"] = each["genre"] if each.get("year", None): diff --git a/applications/task/tasks.py b/applications/task/tasks.py index 4a9d137..f425729 100644 --- a/applications/task/tasks.py +++ b/applications/task/tasks.py @@ -245,7 +245,7 @@ def batch_auto_tag_task(batch, source_list, select_mode): folder_list = TaskRecord.objects.filter(batch=batch, icon="icon-folder").all() for folder in folder_list: data = os.scandir(folder.full_path) - allow_type = ["flac", "mp3", "ape", "wav", "aiff", "wv", "tta", "mp4", "m4a", "ogg", "mpc", + allow_type = ["flac", "mp3", "ape", "wav", "aiff", "wv", "tta", "m4a", "ogg", "mpc", "opus", "wma", "dsf", "dff"] bulk_set = [] for entry in data: diff --git a/applications/task/views.py b/applications/task/views.py index 00eaf30..c48497a 100644 --- a/applications/task/views.py +++ b/applications/task/views.py @@ -46,7 +46,7 @@ class TaskViewSets(GenericViewSet): except FileNotFoundError: return self.failure_response(msg="文件夹不存在") children_data = [] - allow_type = ["flac", "mp3", "ape", "wav", "aiff", "wv", "tta", "mp4", "m4a", "ogg", "mpc", + allow_type = ["flac", "mp3", "ape", "wav", "aiff", "wv", "tta", "m4a", "ogg", "mpc", "opus", "wma", "dsf", "dff"] frc_map = {} file_data = [] @@ -124,6 +124,7 @@ class TaskViewSets(GenericViewSet): "title": f["title"].value or file_title, "artist": f["artist"].value, "album": f["album"].value, + "albumartist": f["albumartist"].value, "genre": f["genre"].value, "year": f["year"].value, "lyrics": f["lyrics"].value, @@ -153,7 +154,7 @@ class TaskViewSets(GenericViewSet): if data.get('icon') == 'icon-folder': file_full_path = f"{full_path}/{data.get('name')}" data = os.scandir(file_full_path) - allow_type = ["flac", "mp3", "ape", "wav", "aiff", "wv", "tta", "mp4", "m4a", "ogg", "mpc", + allow_type = ["flac", "mp3", "ape", "wav", "aiff", "wv", "tta", "m4a", "ogg", "mpc", "opus", "wma", "dsf", "dff"] for index, entry in enumerate(data, 1): each = entry.name diff --git a/web/src/views/home/home.vue b/web/src/views/home/home.vue index e5ae7c7..dcf6b84 100644 --- a/web/src/views/home/home.vue +++ b/web/src/views/home/home.vue @@ -82,6 +82,12 @@ +
+
专辑艺术家:
+
+ +
+
风格:
@@ -116,7 +122,7 @@
-
保存歌词lrc:
+
保存歌词文件:
@@ -180,6 +186,12 @@ +
+
专辑艺术家:
+
+ +
+
风格:
@@ -214,7 +226,7 @@
-
保存歌词lrc:
+
保存歌词文件: