# separator. It is used then to split back the string to tags list.
SEPARATOR = chr(0x1F) # ASCII Unit Separator
# separator. It is used then to split back the string to tags list.
SEPARATOR = chr(0x1F) # ASCII Unit Separator
def wrapper(*args, **kwargs):
ans = func(*args, **kwargs)
if isinstance(ans, set):
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'\"')
raise MetaException('Need a "name" argument (str type)')
if not isinstance(kwargs.get('name'), str):
raise MetaException('"name" argument not a string')
raise MetaException('Need a "name" argument (str type)')
if not isinstance(kwargs.get('name'), str):
raise MetaException('"name" argument not a string')
if getattr(other, '__str__', None):
if callable(other.__str__) and other.__str__() != self.name:
self.__aliases |= {other.__str__()}
if getattr(other, '__str__', None):
if callable(other.__str__) and other.__str__() != self.name:
self.__aliases |= {other.__str__()}
@mbidfilter
def __init__(self, name=None, mbid=None, **kwargs):
if kwargs.get('musicbrainz_albumid', False):
@mbidfilter
def __init__(self, name=None, mbid=None, **kwargs):
if kwargs.get('musicbrainz_albumid', False):
@mbidfilter
def __init__(self, name=None, mbid=None, **kwargs):
if kwargs.get('artist', False):
@mbidfilter
def __init__(self, name=None, mbid=None, **kwargs):
if kwargs.get('artist', False):
- mbid = kwargs.get('musicbrainz_artistid').split(SEPARATOR)[0]
- if not kwargs.get('albumartist', False):
- kwargs['albumartist'] = name
+ mbid = kwargs.get('musicbrainz_artistid')
+ if name and not kwargs.get('albumartist', False):
+ kwargs['albumartist'] = name.split(SEPARATOR)[0]
super().__init__(name=name, mbid=mbid,
albumartist=kwargs.get('albumartist'))
super().__init__(name=name, mbid=mbid,
albumartist=kwargs.get('albumartist'))