Merge pull request #3043 from beetbox/aunique-format

Make `%aunique` work with `-f/--format` options.
This commit is contained in:
Adrian Sampson 2018-09-27 10:29:33 -04:00 committed by GitHub
commit 54cf6d4d44
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 13 additions and 3 deletions

View file

@ -1506,9 +1506,16 @@ class DefaultTemplateFunctions(object):
# Fast paths: no album, no item or library, or memoized value.
if not self.item or not self.lib:
return u''
if self.item.album_id is None:
if isinstance(self.item, Item):
album_id = self.item.album_id
elif isinstance(self.item, Album):
album_id = self.item.id
if album_id is None:
return u''
memokey = ('aunique', keys, disam, self.item.album_id)
memokey = ('aunique', keys, disam, album_id)
memoval = self.lib._memotable.get(memokey)
if memoval is not None:
return memoval
@ -1528,7 +1535,7 @@ class DefaultTemplateFunctions(object):
bracket_l = u''
bracket_r = u''
album = self.lib.get_album(self.item)
album = self.lib.get_album(album_id)
if not album:
# Do nothing for singletons.
self.lib._memotable[memokey] = u''

View file

@ -92,6 +92,9 @@ Fixes:
:bug:`2504` :bug:`3029`
* Avoid a crash when archive extraction fails during import.
:bug:`3041`
* The ``%aunique`` template function now works correctly with the
``-f/--format`` option.
:bug:`3043`
.. _python-itunes: https://github.com/ocelma/python-itunes