X-Git-Url: http://git.kaliko.me/?a=blobdiff_plain;f=sima%2Flib%2Fmeta.py;h=78c6e790da198bc351e0c58c79a7307b5b5db2c0;hb=e9ed5c171c9251ef6ae7765b1406e2f5b2cb1c0d;hp=2d78f2f67269cfedfb2898a2aa3f3e1e025bc21d;hpb=70bf86ca3f65a550436cdc70326cb8601f24e5a6;p=mpd-sima.git diff --git a/sima/lib/meta.py b/sima/lib/meta.py index 2d78f2f..78c6e79 100644 --- a/sima/lib/meta.py +++ b/sima/lib/meta.py @@ -21,6 +21,7 @@ Defines some object to handle audio file metadata """ +import logging import re UUID_RE = r'^[a-f0-9]{8}-[a-f0-9]{4}-4[a-f0-9]{3}-[89aAbB][a-f0-9]{3}-[a-f0-9]{12}$' @@ -59,14 +60,19 @@ class Meta: self.__name = None #TODO: should be immutable self.__mbid = None self.__aliases = set() + self.log = logging.getLogger(__name__) if 'name' not in kwargs or not kwargs.get('name'): raise MetaException('Need a "name" argument') else: self.__name = kwargs.pop('name') if 'mbid' in kwargs and kwargs.get('mbid'): - is_uuid4(kwargs.get('mbid')) + try: + is_uuid4(kwargs.get('mbid')) + self.__mbid = kwargs.pop('mbid') + except WrongUUID4: + self.log.warning('Wrong mbid {}:{}'.format(self.__name, + kwargs.get('mbid'))) # mbid immutable as hash rests on - self.__mbid = kwargs.pop('mbid') self.__dict__.update(**kwargs) def __repr__(self):