]> kaliko git repositories - mpd-sima.git/commitdiff
Clean some linter warnings and errors
authorkaliko <kaliko@azylum.org>
Fri, 1 Oct 2021 18:29:57 +0000 (20:29 +0200)
committerkaliko <kaliko@azylum.org>
Fri, 1 Oct 2021 18:29:57 +0000 (20:29 +0200)
19 files changed:
sima/core.py
sima/launch.py
sima/lib/logger.py
sima/lib/meta.py
sima/lib/simafm.py
sima/lib/simastr.py
sima/lib/track.py
sima/mpdclient.py
sima/plugins/contrib/placeholder.py
sima/plugins/core/history.py
sima/plugins/core/uniq.py
sima/plugins/internal/genre.py
sima/plugins/internal/lastfm.py
sima/plugins/internal/tags.py
sima/utils/filelock.py
sima/utils/leven.py
sima/utils/startopt.py
sima/utils/utils.py
vinstall.py

index ed4e0e1115ef93a96b96048ef8b83780fc61ae21..4b7307ea72796cc57fee1ba0d9208ccb37cf6830 100644 (file)
@@ -37,7 +37,7 @@ class Sima(Daemon):
     """
 
     def __init__(self, conf):
-        ## Set daemon
+        # Set daemon
         Daemon.__init__(self, conf.get('daemon', 'pidfile'))
         self.enabled = True
         self.config = conf
@@ -80,7 +80,8 @@ class Sima(Daemon):
 
     @property
     def plugins(self):
-        return [plugin[1] for plugin in sorted(self._plugins, key=lambda pl: pl[0], reverse=True)]
+        return [plugin[1] for plugin in
+                sorted(self._plugins, key=lambda pl: pl[0], reverse=True)]
 
     def need_tracks(self):
         """Is the player in need for tracks"""
@@ -126,7 +127,7 @@ class Sima(Daemon):
                 self.log.debug(err)
                 continue
             except PlayerError as err:
-                #TODO: unhandled Player exceptions
+                # TODO: unhandled Player exceptions
                 self.log.warning('Unhandled player exception: %s', err)
             self.log.info('Got reconnected')
             break
@@ -177,7 +178,7 @@ class Sima(Daemon):
         """Dispatching callbacks to plugins
         """
         # hanging here until a monitored event is raised in the player
-        if getattr(self, 'changed', False): # first iteration exception
+        if getattr(self, 'changed', False):  # first iteration exception
             self.changed = self.player.monitor()
         else:  # first iteration goes through else
             self.changed = ['playlist', 'player', 'skipped']
index 1757d2bcee717d1780d272c8e24fed977ee0dedd..4b77f89a29c5320212b1fe72e16f02701735eda7 100644 (file)
@@ -148,7 +148,8 @@ def start(sopt, restart=False):
     for cplgn in core_plugins:
         logger.debug('Register core %(name)s (%(doc)s)', cplgn.info())
         sima.register_core_plugin(cplgn)
-    logger.debug('core loaded, prioriy: %s', ' > '.join(map(str, sima.core_plugins)))
+    logger.debug('core loaded, prioriy: %s',
+                 ' > '.join(map(str, sima.core_plugins)))
 
     #  Loading internal plugins
     load_plugins(sima, 'internal')
@@ -188,6 +189,7 @@ def run(sopt, restart=False):
     except Exception:  # Unhandled exception
         exception_log()
 
+
 # Script starts here
 def main():
     """Entry point"""
index b9b8b408ecfdc60ed34406870ab117882faf733c..cab43fcfee6e7098fd8796c43b711f21f80db228 100644 (file)
@@ -34,8 +34,6 @@ ERROR = logging.ERROR
 LOG_FORMATS = {
         DEBUG: '[{process}]{filename: >11}:{lineno: <3} {levelname: <7}: {message}',
         INFO:  '{levelname: <7}: {message}',
-        #logging.DEBUG: '{asctime} {filename}:{lineno}({funcName}) '
-                                 #'{levelname}: {message}',
         }
 DATE_FMT = "%Y-%m-%d %H:%M:%S"
 
index 9e858a2bc972ffc1ef557bc27c41beb6f37cbf60..f118e82dcfd19c7dce1b3d426ff2c6dd0c08485c 100644 (file)
@@ -31,6 +31,7 @@ UUID_RE = r'^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[89AB][a-f0-9]{3}-[a-f0-9]{12}$
 # separator. It is used then to split back the string to tags list.
 SEPARATOR = chr(0x1F)  # ASCII Unit Separator
 
+
 def is_uuid4(uuid):
     """Controls MusicBrainz UUID4 format
 
@@ -42,6 +43,7 @@ def is_uuid4(uuid):
         return True
     return False
 
+
 class MetaException(Exception):
     """Generic Meta Exception"""
 
@@ -170,7 +172,7 @@ class Meta:
     @property
     def names(self):
         """aliases + name"""
-        return self.__aliases | {self.__name,}
+        return self.__aliases | {self.__name, }
 
     @property
     @serialize
index 18fe084a3b8aacfcd3e211c40a19e62313663972..bd203f74f3330f1da06a0d7abd5d1f0c741e8a0b 100644 (file)
@@ -25,7 +25,6 @@ __version__ = '0.5.1'
 __author__ = 'Jack Kaliko'
 
 
-
 from sima import LFM
 from sima.lib.meta import Artist
 from sima.lib.track import Track
@@ -47,9 +46,9 @@ class SimaFM:
 
     :param BaseCache cache: Set a cache, defaults to `False`.
     """
-    stats = {'etag':0,
-             'ccontrol':0,
-             'total':0}
+    stats = {'etag': 0,
+             'ccontrol': 0,
+             'total': 0}
 
     def __init__(self):
         self.http = HttpClient(cache=self.cache, stats=self.stats)
@@ -69,11 +68,11 @@ class SimaFM:
     def _forge_payload(self, artist, method='similar', track=None):
         """Build payload
         """
-        payloads = dict({'similar': {'method':'artist.getsimilar',},
-                         'top': {'method':'artist.gettoptracks',},
-                         'track': {'method':'track.getsimilar',},
-                         'info': {'method':'artist.getinfo',},
-                        })
+        payloads = dict({'similar': {'method': 'artist.getsimilar',},
+                         'top': {'method': 'artist.gettoptracks',},
+                         'track': {'method': 'track.getsimilar',},
+                         'info': {'method': 'artist.getinfo',},
+                         })
         payload = payloads.get(method)
         payload.update(api_key=LFM.get('apikey'), format='json')
         if not isinstance(artist, Artist):
@@ -102,20 +101,20 @@ class SimaFM:
         ans = self.http(self.root_url, payload)
         try:
             ans.json()
-        except ValueError as err:
+        except ValueError:
             # Corrupted/malformed cache? cf. gitlab issue #35
             raise WSError('Malformed json, try purging the cache: %s')
-        self._controls_answer(ans.json()) # pylint: disable=no-member
+        self._controls_answer(ans.json())  # pylint: disable=no-member
         # Artist might be found but return no 'artist' list…
         # cf. "Mulatu Astatqe" vs. "Mulatu Astatqé" with autocorrect=0
         # json format is broken IMHO, xml is more consistent IIRC
         # Here what we got:
         # >>> {"similarartists":{"#text":"\n","artist":"Mulatu Astatqe"}}
         # autocorrect=1 should fix it, checking anyway.
-        simarts = ans.json().get('similarartists').get('artist') # pylint: disable=no-member
+        simarts = ans.json().get('similarartists').get('artist')  # pylint: disable=no-member
         if not isinstance(simarts, list):
             raise WSError('Artist found but no similarities returned')
-        for art in ans.json().get('similarartists').get('artist'): # pylint: disable=no-member
+        for art in ans.json().get('similarartists').get('artist'):  # pylint: disable=no-member
             yield Artist(name=art.get('name'), mbid=art.get('mbid', None))
 
     def get_toptrack(self, artist):
@@ -126,8 +125,8 @@ class SimaFM:
         """
         payload = self._forge_payload(artist, method='top')
         ans = self.http(self.root_url, payload)
-        self._controls_answer(ans.json()) # pylint: disable=no-member
-        tops = ans.json().get('toptracks').get('track') # pylint: disable=no-member
+        self._controls_answer(ans.json())  # pylint: disable=no-member
+        tops = ans.json().get('toptracks').get('track')  # pylint: disable=no-member
         art = {'artist': artist.name,
                'musicbrainz_artistid': artist.mbid,}
         for song in tops:
index cdb0195fbb7eac9a19dce6000ded3342deeb0668..033a994e23f7bea76b99db648570426c8a62e4ad 100644 (file)
@@ -118,18 +118,15 @@ class SimaStr(str):
         """
         sea = SimaStr.reg_lead.search(self.stripped)
         if sea:
-            #print sea.groupdict()
             self.stripped = sea.group('root0')
 
         sea = SimaStr.reg_midl.search(self.stripped)
         if sea:
-            #print sea.groupdict()
             self.stripped = str().join([sea.group('root0'), ' ',
                                         sea.group('root1')])
 
         sea = SimaStr.reg_trail.search(self.stripped)
         if sea:
-            #print sea.groupdict()
             self.stripped = sea.group('root0')
 
     def remove_diacritics(self):
index a1a452af07fd8f1b955a63ca3e10f9d30e5f5bc8..f25d86d94496ca9e1d297a5ed1eb325c926f030e 100644 (file)
@@ -118,7 +118,7 @@ class Track:
     @property
     def length(self):
         """Get a fancy duration as ``%H:%M:%S`` (use :attr:`duration` to get duration in second only)"""
-        temps = time.gmtime(self.duration)  #TODO: returns a date not a duration
+        temps = time.gmtime(self.duration)  # TODO: returns a date not a duration
         if temps.tm_hour:
             fmt = '%H:%M:%S'
         else:
index d528b96bb25aa4dff2260e3475cf380ce050ac1a..1347edd64a85dee116c6863572fb4cd824127986 100644 (file)
@@ -50,6 +50,7 @@ def bl_artist(func):
         return result
     return wrapper
 
+
 def set_artist_mbid(func):
     def wrapper(*args, **kwargs):
         cls = args[0]
@@ -63,6 +64,7 @@ def set_artist_mbid(func):
         return result
     return wrapper
 
+
 def tracks_wrapper(func):
     """Convert plain track mapping as returned by MPDClient into :py:obj:`sima.lib.track.Track`
     objects. This decorator accepts single track or list of tracks as input.
index bd4f19cd60202c24ca7038090c890aed8234116c..71ad890b4f81637d44270ba65440880586d6a862 100644 (file)
@@ -27,6 +27,7 @@
 # local import
 from sima.lib.plugin import Plugin
 
+
 class PlaceHolder(Plugin):
     """
     Placeholder contrib plugin
@@ -38,6 +39,5 @@ class PlaceHolder(Plugin):
         pass
 
 
-
 # VIM MODLINE
 # vim: ai ts=4 sw=4 sts=4 expandtab
index 3380870754b84a12c775dd0075b40173e1f0c0c6..57b57bd7b24b19552bbdb6753ea9ef65c20beb17 100644 (file)
@@ -28,6 +28,7 @@ from time import time
 # local import
 from ...lib.plugin import Plugin
 
+
 class History(Plugin):
     """
     History management
index bc2ef547c41bfe7e5b6f2dc86ec8fecb3f29b97f..1ad50f7d889781afbf691dbb35f38a66b6ee79d0 100644 (file)
@@ -24,7 +24,7 @@
 """
 
 # standard library import
-from os import  getpid
+from os import getpid
 from socket import getfqdn
 
 # third parties components
index 264d8abfba25e79c5c17b9e7ee30911ca822fa80..713ee35eaa37fee3210e71704345149b9f3c111f 100644 (file)
@@ -65,8 +65,8 @@ class Genre(AdvancedPlugin):
     def fetch_genres(self):
         """Fetches ,at most, nb-depth genre from history,
         and returns the nbgenres most present"""
-        depth = 10 # nb of genre to fetch from history for analysis
-        nbgenres = 2 # nb of genre to return
+        depth = 10  # nb of genre to fetch from history for analysis
+        nbgenres = 2  # nb of genre to return
         genres = [g[0] for g in self.sdb.fetch_genres_history(limit=depth)]
         if not genres:
             self.log.debug('No genre found in current track history')
index 81a2b1cb7f2db8f315843a51803be248b6999ee8..457deb564a38e58b67e0f45990cbf49d15a22104 100644 (file)
@@ -44,7 +44,8 @@ class Lastfm(WebService):
         persitent_cache = daemon.config.getboolean('lastfm', 'cache')
         if persitent_cache:
             CacheController.CACHE_ANYWAY = True
-            self.log.debug('Persistant cache enabled in %s', join(vardir, 'http', 'LastFM'))
+            self.log.debug('Persistant cache enabled in %s',
+                           join(vardir, 'http', 'LastFM'))
             SimaFM.cache = FileCache(join(vardir, 'http', 'LastFM'))
         self.ws = SimaFM()
 
index 2e1ddac2dcee7ad97cf24b1de8bdebc09d50fe28..5e5d08ce08108f07f524cf9310dfe626420b7742 100644 (file)
@@ -42,13 +42,13 @@ def control_config(tags_config):
     if not tags_config.get('filter', None) and \
             config_tags.isdisjoint(sup_tags):
         log.warning('Found no config for Tags plugin! '
-                  'Need at least "filter" or a supported tag')
+                    'Need at least "filter" or a supported tag')
         log.info('Supported Tags are : %s', ', '.join(sup_tags))
         # raise PluginException('plugin misconfiguration')
         return False
     if config_tags.difference(sup_tags):
         log.error('Found unsupported tag in config: %s',
-                   config_tags.difference(sup_tags))
+                  config_tags.difference(sup_tags))
         # raise PluginException('plugin misconfiguration')
         return False
     return True
index 128815a8fb179ff478fbce89472f114631416331..959f6362d977503718d6c6e37c3addbcba6d771b 100644 (file)
@@ -59,7 +59,7 @@ class FileLock:
         while True:
             try:
                 self.filedsc = os.open(self.lockfile,
-                                       os.O_CREAT|os.O_EXCL|os.O_RDWR)
+                                       os.O_CREAT | os.O_EXCL | os.O_RDWR)
                 break
             except OSError as err:
                 if err.errno != errno.EEXIST:
index 9f6eadb17eb8dd8a43a6d864f7c5ef4c9d91c12c..d1ba2740c966cca475c11c42e5af21c5f6769b52 100644 (file)
@@ -18,6 +18,7 @@
 #
 """Computes levenshtein distance/ratio"""
 
+
 def levenshtein(a_st, b_st):
     """Computes the Levenshtein distance between two strings."""
     n_a, m_b = len(a_st), len(b_st)
@@ -38,6 +39,7 @@ def levenshtein(a_st, b_st):
 
     return current[n_a]
 
+
 def levenshtein_ratio(string, strong):
     """
     Compute levenshtein ratio.
index bf9fcf4120ce95d1e227036d7388c42fddbe5bb1..f3499d13590348ce15b724a65268d3033510ee1b 100644 (file)
@@ -19,7 +19,7 @@
 #
 #
 
-from argparse import ArgumentParser, RawDescriptionHelpFormatter, SUPPRESS
+from argparse import ArgumentParser, RawDescriptionHelpFormatter
 
 from .utils import Wfile, Rfile, Wdir
 
index c3e80d4139b097f18b80595d042321e6665a36c7..d226ef08303bf3fde53064743b73781e3e868158 100644 (file)
@@ -137,7 +137,6 @@ class Wfile(FileAction):
         if isdir(self._file):
             self.parser.error('need a file not a directory: {}'.format(self._file))
         if not exists(self._dir):
-            #raise ArgumentError(self, '"{0}" does not exist'.format(self._dir))
             self.parser.error('directory does not exist: {0}'.format(self._dir))
         if not exists(self._file):
             # Is parent directory writable then
index e71c9530c0310ba343f49b0b0805b9675250f2cf..102d8cd78967b10f618e562c63c24599a71f7f2d 100755 (executable)
@@ -2,7 +2,6 @@
 # Copyright (C) 2013 Vinay Sajip. New BSD License.
 # Copyright (C) 2014, 2020 kaliko <kaliko@azylum.org>
 #
-from __future__ import print_function
 
 REQ_VER = (3,4)
 import sys