From 2cf55ee893b2df1d81846775f9af956d2d1365f1 Mon Sep 17 00:00:00 2001 From: Rahul Ahuja Date: Sun, 1 Sep 2019 18:33:27 -0700 Subject: [PATCH] Add deezer.rst doc, remove unused options --- beetsplug/deezer.py | 32 +++++++------------------------- docs/plugins/deezer.rst | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+), 25 deletions(-) create mode 100644 docs/plugins/deezer.rst diff --git a/beetsplug/deezer.py b/beetsplug/deezer.py index fb548756f..9447e9c3c 100644 --- a/beetsplug/deezer.py +++ b/beetsplug/deezer.py @@ -38,19 +38,7 @@ class DeezerPlugin(BeetsPlugin): def __init__(self): super(DeezerPlugin, self).__init__() - self.config.add( - { - 'mode': 'list', - 'tiebreak': 'popularity', - 'show_failures': False, - 'artist_field': 'albumartist', - 'album_field': 'album', - 'track_field': 'title', - 'region_filter': None, - 'regex': [], - 'source_weight': 0.5, - } - ) + self.config.add({'source_weight': 0.5}) def _get_deezer_id(self, url_type, id_): """Parse a Deezer ID from its URL if necessary. @@ -103,9 +91,9 @@ class DeezerPlugin(BeetsPlugin): u"by Deezer API: '{}'".format(release_date) ) - tracks_data = requests.get( - self.album_url + deezer_id + '/tracks' - ).json()['data'] + tracks_data = requests.get(self.album_url + deezer_id + '/tracks').json()[ + 'data' + ] tracks = [] medium_totals = collections.defaultdict(int) for i, track_data in enumerate(tracks_data): @@ -255,9 +243,7 @@ class DeezerPlugin(BeetsPlugin): query_filters = {'album': album} if not va_likely: query_filters['artist'] = artist - response_data = self._search_deezer( - query_type='album', filters=query_filters - ) + response_data = self._search_deezer(query_type='album', filters=query_filters) if response_data is None: return [] return [ @@ -326,9 +312,7 @@ class DeezerPlugin(BeetsPlugin): if no search results are returned. :rtype: dict or None """ - query = self._construct_search_query( - keywords=keywords, filters=filters - ) + query = self._construct_search_query(keywords=keywords, filters=filters) if not query: return None self._log.debug(u"Searching Deezer for '{}'".format(query)) @@ -336,7 +320,5 @@ class DeezerPlugin(BeetsPlugin): self.search_url + query_type, params={'q': query} ).json() num_results = len(response_data['data']) - self._log.debug( - u"Found {} results from Deezer for '{}'", num_results, query - ) + self._log.debug(u"Found {} results from Deezer for '{}'", num_results, query) return response_data if num_results > 0 else None diff --git a/docs/plugins/deezer.rst b/docs/plugins/deezer.rst new file mode 100644 index 000000000..94347c99e --- /dev/null +++ b/docs/plugins/deezer.rst @@ -0,0 +1,38 @@ +Spotify Plugin +============== + +The ``deezer`` plugin provides metadata matches for the importer using the +`Deezer_` `Album`_ and `Track`_ APIs. + +.. _Deezer: https://www.deezer.com +.. _Album: https://developers.deezer.com/api/album +.. _Track: https://developers.deezer.com/api/track + +Why Use This Plugin? +-------------------- + +* You're a Beets user. +* You want to autotag music with metadata from the Deezer API. + +Basic Usage +----------- +First, enable the ``deezer`` plugin (see :ref:`using-plugins`). + +You can enter the URL for an album or song on Deezer at the ``enter Id`` +prompt during import:: + + Enter search, enter Id, aBort, eDit, edit Candidates, plaY? i + Enter release ID: https://www.deezer.com/en/album/572261 + +Configuration +------------- +Put these options in config.yaml under the ``deezer:`` section: + +- **source_weight**: Penalty applied to Spotify matches during import. Set to + 0.0 to disable. + Default: ``0.5``. + +Here's an example:: + + deezer: + source_weight: 0.7