X-Git-Url: https://git.kaliko.me/?a=blobdiff_plain;f=sima%2Flib%2Fmeta.py;h=3f6a641c3460938966eb2ef84431c55b3222667e;hb=855fe9d3aa88dd8536e954baf3ca5a90389ae921;hp=39b3197573c9e78456cdcbbfaf8f5854d90f18ae;hpb=7ac027b7a735bde1521f7a916a7629d3986e36c9;p=mpd-sima.git diff --git a/sima/lib/meta.py b/sima/lib/meta.py index 39b3197..3f6a641 100644 --- a/sima/lib/meta.py +++ b/sima/lib/meta.py @@ -56,6 +56,7 @@ def mbidfilter(func): func(*args, **kwargs) return wrapper + def serialize(func): def wrapper(*args, **kwargs): ans = func(*args, **kwargs) @@ -182,6 +183,8 @@ class Album(Meta): @mbidfilter def __init__(self, name=None, mbid=None, **kwargs): + if kwargs.get('musicbrainz_albumid', False): + mbid = kwargs.get('musicbrainz_albumid').split(SEPARATOR)[0] super().__init__(name=name, mbid=mbid, **kwargs) @property @@ -195,16 +198,14 @@ class Artist(Meta): :param str name: Artist name :param str mbid: Musicbrainz artist ID :param str artist: Overrides "name" argument - :param str albumartist: Overrides "name" and "artist" argument + :param str albumartist: use "name" if not set :param str musicbrainz_artistid: Overrides "mbid" argument - :param str musicbrainz_albumartistid: Overrides "musicbrainz_artistid" argument :Example: >>> trk = {'artist':'Art Name', >>> 'albumartist': 'Alb Art Name', # optional >>> 'musicbrainz_artistid': '', # optional - >>> 'musicbrainz_albumartistid': '', # optional >>> } >>> artobj0 = Artist(**trk) >>> artobj1 = Artist(name='Tool') @@ -216,13 +217,11 @@ class Artist(Meta): name = kwargs.get('artist').split(SEPARATOR)[0] if kwargs.get('musicbrainz_artistid', False): mbid = kwargs.get('musicbrainz_artistid').split(SEPARATOR)[0] - if (kwargs.get('albumartist', False) and - kwargs.get('albumartist') != 'Various Artists'): - name = kwargs.get('albumartist').split(SEPARATOR)[0] - if (kwargs.get('musicbrainz_albumartistid', False) and - kwargs.get('musicbrainz_albumartistid') != '89ad4ac3-39f7-470e-963a-56509c546377'): - mbid = kwargs.get('musicbrainz_albumartistid').split(SEPARATOR)[0] - super().__init__(name=name, mbid=mbid) + if not kwargs.get('albumartist', False): + kwargs['albumartist'] = name + super().__init__(name=name, mbid=mbid, + albumartist=kwargs.get('albumartist')) + class MetaContainer(Set):