From 78ac63ca36703d143f341997980b39e185430e05 Mon Sep 17 00:00:00 2001 From: dtomlinson Date: Mon, 9 Mar 2020 03:30:52 +0000 Subject: [PATCH] code quality improvements --- .DS_Store | Bin 8196 -> 8196 bytes setup.py | 2 -- src/musicbrainzapi/__init__.py | 4 ++-- src/musicbrainzapi/api/lyrics/__init__.py | 7 +++++-- src/musicbrainzapi/api/lyrics/builder.py | 14 +++++++------- src/musicbrainzapi/api/lyrics/director.py | 5 +++-- src/musicbrainzapi/wordcloud/__init__.py | 14 +++++++++++--- 7 files changed, 28 insertions(+), 18 deletions(-) diff --git a/.DS_Store b/.DS_Store index f9ce5ddcd9ef72813074ececb3b7b65ee50d9508..ac377ba99eecad612f3c33b39b77e953d43401fb 100644 GIT binary patch delta 56 zcmZp1XmOa}C7U^hRb%4Qw`LuOGHh7^WOhGK@2vf!e;ocz3W1_lPk%~rx&SvIpv Md}G=CRD_)w0Kje!;s5{u delta 40 wcmZp1XmOa}gHU^hRb@@5_ZL*~t)!kbto7D#Mnm-xoASyc2B)5HQ%01B858vp for Aire Logic diff --git a/src/musicbrainzapi/api/lyrics/__init__.py b/src/musicbrainzapi/api/lyrics/__init__.py index 253b630..c054d40 100644 --- a/src/musicbrainzapi/api/lyrics/__init__.py +++ b/src/musicbrainzapi/api/lyrics/__init__.py @@ -1,3 +1,7 @@ +""" +Lyrics object with statistics. +=============================== +""" from __future__ import annotations from typing import Union, Dict, List from dataclasses import dataclass @@ -10,8 +14,7 @@ import numpy as np @dataclass class Lyrics: - """Lyrics object for an artist. - """ + """Lyrics object for an artist.""" artist_id: str artist: str diff --git a/src/musicbrainzapi/api/lyrics/builder.py b/src/musicbrainzapi/api/lyrics/builder.py index 25b3857..fa93800 100644 --- a/src/musicbrainzapi/api/lyrics/builder.py +++ b/src/musicbrainzapi/api/lyrics/builder.py @@ -106,6 +106,7 @@ class LyricsBuilder(LyricsConcreteBuilder): ------- str URL for lyrics from the lyrics api. + """ lyrics_api_base = 'https://api.lyrics.ovh/v1' lyrics_api_url = html.escape(f'{lyrics_api_base}/{artist}/{song}') @@ -123,7 +124,8 @@ class LyricsBuilder(LyricsConcreteBuilder): Returns ------- str - Lyrics of the trakc + Lyrics of the track. + """ resp = requests.get(url) @@ -192,6 +194,7 @@ class LyricsBuilder(LyricsConcreteBuilder): return _d def __init__(self) -> None: + """Create a builder instance to build a Lyrics object.""" self.reset() def reset(self) -> None: @@ -208,8 +211,7 @@ class LyricsBuilder(LyricsConcreteBuilder): return self def sort_artists(self) -> None: - """Sort the artists from the Musicbrainzapi - """ + """Sort the artists from the Musicbrainzapi.""" self._sort_names = dict( (i.get('id'), f'{i.get("name")} | {i.get("disambiguation")}') if i.get('disambiguation') is not None @@ -241,8 +243,7 @@ class LyricsBuilder(LyricsConcreteBuilder): return self def find_all_albums(self) -> None: - """Find all albums for the chosen artist - """ + """Find all albums for the chosen artist.""" limit, offset, page = (100, 0, 1) resp_0 = addict.Dict( @@ -365,8 +366,7 @@ class LyricsBuilder(LyricsConcreteBuilder): return self def find_lyrics_urls(self) -> None: - """Construct the URL for the lyrics api. - """ + """Construct the URL for the lyrics api.""" self.all_albums_lyrics_url = list() for x in self.all_albums: for alb, tracks in x.items(): diff --git a/src/musicbrainzapi/api/lyrics/director.py b/src/musicbrainzapi/api/lyrics/director.py index 8bf41cb..f63d738 100644 --- a/src/musicbrainzapi/api/lyrics/director.py +++ b/src/musicbrainzapi/api/lyrics/director.py @@ -10,6 +10,7 @@ class LyricsClickDirector: """Director for Lyrics builder.""" def __init__(self) -> None: + """Create a Director to orchestrate the builder.""" self._builder = None @staticmethod @@ -62,6 +63,7 @@ class LyricsClickDirector: ------ SystemExit If no artist is found will cleanly quit. + """ artist_meta = None for i, j in self.builder._top_five_results.items(): @@ -111,8 +113,7 @@ class LyricsClickDirector: return self def _query_for_data(self) -> None: - """Query Musicbrainz api for albums + track data. - """ + """Query Musicbrainz api for albums + track data.""" self.builder.find_all_albums() self.builder.find_all_tracks() self.builder._product.all_albums_with_tracks = self.builder.all_albums diff --git a/src/musicbrainzapi/wordcloud/__init__.py b/src/musicbrainzapi/wordcloud/__init__.py index 5b1a708..67ffc52 100644 --- a/src/musicbrainzapi/wordcloud/__init__.py +++ b/src/musicbrainzapi/wordcloud/__init__.py @@ -1,3 +1,7 @@ +""" +Wordcloud from lyrics. +""" + from __future__ import annotations import collections from importlib import resources @@ -18,7 +22,7 @@ if typing.TYPE_CHECKING: class LyricsWordcloud: """Create a word cloud from Lyrics. - + Attributes ---------- all_albums_lyrics_count : list @@ -41,6 +45,8 @@ class LyricsWordcloud: all_albums_lyrics_count: 'Lyrics.all_albums_lyrics_count', ): """ + Create a worcloud object. + Parameters ---------- pillow_img : PIL.PngImagePlugin.PngImageFile @@ -55,12 +61,14 @@ class LyricsWordcloud: def use_microphone( cls, all_albums_lyrics_count: 'Lyrics.all_albums_lyrics_count', ) -> LyricsWordcloud: - """Class method to instantiate with a microphone base image. + """ + Class method to instantiate with a microphone base image. Parameters ---------- all_albums_lyrics_count : Lyrics.all_albums_lyrics_count List of all albums + track lyrics counted by each word + """ mic_resource = resources.path( 'musicbrainzapi.wordcloud.resources', 'mic.png' @@ -78,7 +86,7 @@ class LyricsWordcloud: *args, **kwargs, ) -> str: - """Static method to generate a random grey colour""" + """Static method to generate a random grey colour.""" colour = f'hsl(0, 0%, {random.randint(60, 100)}%)' return colour