From ddcf02b339d6c0ea97da0676ec92a8131bc11630 Mon Sep 17 00:00:00 2001 From: "Frederik \"Freso\" S. Olesen" Date: Wed, 2 Apr 2014 17:44:48 +0200 Subject: [PATCH] addrelease.py: Add AddFileAsRelease class. Allows for easily adding single files (which can't be clustered) as releases. --- contrib/plugins/addrelease.py | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/contrib/plugins/addrelease.py b/contrib/plugins/addrelease.py index dbf0bdb0a..1f6f93c15 100644 --- a/contrib/plugins/addrelease.py +++ b/contrib/plugins/addrelease.py @@ -151,5 +151,30 @@ class AddFileAsRecording(AddObjectAsEntity): nv("edit-recording.length", str(track.metadata.length)) +class AddFileAsRelease(AddObjectAsEntity): + NAME = "Add File As Release..." + objtype = File + submit_url = 'http://musicbrainz.org/release/add' + + def set_form_values(self, track): + nv = self.add_form_value + + # Main album attributes + if track.metadata["albumartist"]: + nv("artist_credit.names.0.artist.name", track.metadata["albumartist"]) + else: + nv("artist_credit.names.0.artist.name", track.metadata["artist"]) + if track.metadata["album"]: + nv("name", track.metadata["album"]) + else: + nv("name", track.metadata["title"]) + + # Tracklist + nv("mediums.0.track.0.name", track.metadata["title"]) + nv("mediums.0.track.0.artist_credit.names.0.name", track.metadata["artist"]) + nv("mediums.0.track.0.length", str(track.metadata.length)) + + register_cluster_action(AddClusterAsRelease()) register_file_action(AddFileAsRecording()) +register_file_action(AddFileAsRelease())