X-Git-Url: https://git.kaliko.me/?a=blobdiff_plain;f=sima%2Flib%2Fmeta.py;fp=sima%2Flib%2Fmeta.py;h=2d78f2f67269cfedfb2898a2aa3f3e1e025bc21d;hb=70bf86ca3f65a550436cdc70326cb8601f24e5a6;hp=32bb883dca5dd861a0b1f21b9fec89055edfc3c7;hpb=fadd1129df18b9140f08b99682409eba7d912553;p=mpd-sima.git diff --git a/sima/lib/meta.py b/sima/lib/meta.py index 32bb883..2d78f2f 100644 --- a/sima/lib/meta.py +++ b/sima/lib/meta.py @@ -38,11 +38,22 @@ class MetaException(Exception): class WrongUUID4(MetaException): pass +def mbidfilter(func): + def wrapper(*args, **kwargs): + cls = args[0] + if not cls.use_mbid: + kwargs.pop('mbid', None) + kwargs.pop('musicbrainz_artistid', None) + kwargs.pop('musicbrainz_albumartistid', None) + func(*args, **kwargs) + return wrapper + class Meta: """Generic Class for Meta object Meta(name=[, mbid=UUID4]) """ + use_mbid = True def __init__(self, **kwargs): self.__name = None #TODO: should be immutable @@ -117,6 +128,7 @@ class Album(Meta): class Artist(Meta): + @mbidfilter def __init__(self, name=None, mbid=None, **kwargs): """Artist object built from a mapping dict containing at least an "artist" entry: