X-Git-Url: https://git.kaliko.me/?a=blobdiff_plain;f=sima%2Flib%2Fmeta.py;h=4ff560110d0b3e1186f1d7fd497beb2f758f7450;hb=774e755d4a4fb985548cd3d17703c1f700687ff3;hp=e6b9f46229554e008422017281de51db7d9be680;hpb=28caa80fbddaca9c7bb83a9d72dfba8130f16e44;p=mpd-sima.git diff --git a/sima/lib/meta.py b/sima/lib/meta.py index e6b9f46..4ff5601 100644 --- a/sima/lib/meta.py +++ b/sima/lib/meta.py @@ -26,11 +26,15 @@ from collections.abc import Set import logging import re +from ..utils.utils import MPDSimaException + + 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 + def is_uuid4(uuid): """Controls MusicBrainz UUID4 format @@ -42,7 +46,8 @@ def is_uuid4(uuid): return True return False -class MetaException(Exception): + +class MetaException(MPDSimaException): """Generic Meta Exception""" @@ -61,8 +66,8 @@ def serialize(func): def wrapper(*args, **kwargs): ans = func(*args, **kwargs) if isinstance(ans, set): - return {s.replace("'", r"\'") for s in ans} - return ans.replace("'", r"\'") + return {s.replace("'", r"\'").replace('"', r'\"') for s in ans} + return ans.replace("'", r"\'").replace('"', r'\"') return wrapper @@ -170,7 +175,7 @@ class Meta: @property def names(self): """aliases + name""" - return self.__aliases | {self.__name,} + return self.__aliases | {self.__name, } @property @serialize