from difflib import get_close_matches
from functools import wraps
from itertools import dropwhile
+from logging import getLogger
# external module
from musicpd import MPDClient, MPDError
#cls.log.debug('using {0} as bl filter'.format(bl_getter.__name__))
results = list()
for elem in func(*args, **kwargs):
- if bl_getter(elem, add_not=True):
+ if bl_getter(elem, add=False):
#cls.log.debug('Blacklisted "{0}"'.format(elem))
continue
- if track and cls.database.get_bl_album(elem, add_not=True):
+ if track and cls.database.get_bl_album(elem, add=False):
# filter album as well in track mode
# (artist have already been)
cls.log.debug('Blacklisted alb. "%s"', elem)
'MUSICBRAINZ_RELEASETRACKID', 'MUSICBRAINZ_WORKID'}
database = None
- def __init__(self, daemon):
+ def __init__(self, config):
super().__init__()
self.use_mbid = True
- self.daemon = daemon
- self.log = daemon.log
- self.config = self.daemon.config['MPD']
+ self.log = getLogger('sima')
+ self.config = config
self._cache = None
# ######### Overriding MPDClient ###########
def connect(self):
"""Overriding explicitly MPDClient.connect()"""
+ mpd_config = self.config['MPD']
# host, port, password
- host = self.config.get('host')
- port = self.config.get('port')
- password = self.config.get('password', fallback=None)
+ host = mpd_config.get('host')
+ port = mpd_config.get('port')
+ password = mpd_config.get('password', fallback=None)
self.disconnect()
try:
super().connect(host, port)
for tag in MPD.needed_mbid_tags:
self.tagtypes('enable', tag)
# Controls use of MusicBrainzIdentifier
- if self.daemon.config.get('sima', 'musicbrainzid'):
+ if self.config.getboolean('sima', 'musicbrainzid'):
tt = set(self.tagtypes())
if len(MPD.needed_mbid_tags & tt) != len(MPD.needed_mbid_tags):
self.log.warning('Use of MusicBrainzIdentifier is set but MPD '