X-Git-Url: https://git.kaliko.me/?a=blobdiff_plain;f=sima%2Flib%2Fmeta.py;h=a492d17ed60e7ac3749216cf4245eb96bb39c227;hb=6dc2257a2358877b8d1039791d046cf981e39b9f;hp=7cfb54fa56a63545c50f2b651bea8109ba2dfba7;hpb=4ea8f2fe3f29fe09e7a3ab60ac781d54841db5bb;p=mpd-sima.git diff --git a/sima/lib/meta.py b/sima/lib/meta.py index 7cfb54f..a492d17 100644 --- a/sima/lib/meta.py +++ b/sima/lib/meta.py @@ -1,5 +1,5 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2013, 2014, 2015 kaliko +# Copyright (c) 2013, 2014, 2015, 2021 kaliko # # This file is part of sima # @@ -21,14 +21,12 @@ Defines some object to handle audio file metadata """ -try: - from collections.abc import Set # python >= 3.3 -except ImportError: - from collections import Set # python 3.2 + +from collections.abc import Set 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}$' +UUID_RE = r'^[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[89AB][a-f0-9]{3}-[a-f0-9]{12}$' # The Track Object is collapsing multiple tags into a single string using this # separator. It is used then to split back the string to tags list. SEPARATOR = chr(0x1F) # ASCII Unit Separator @@ -58,6 +56,7 @@ def mbidfilter(func): func(*args, **kwargs) return wrapper + def serialize(func): def wrapper(*args, **kwargs): ans = func(*args, **kwargs) @@ -184,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