Make %aunique work with -f/--format options.

This commit is contained in:
David Logie 2018-09-25 10:18:53 +01:00
parent 3b78d933cf
commit 54624a879d
2 changed files with 13 additions and 2 deletions

View file

@ -1395,6 +1395,8 @@ class Library(dbcore.Database):
"""
if isinstance(item_or_id, int):
album_id = item_or_id
elif isinstance(item_or_id, Album):
album_id = item_or_id.id
else:
album_id = item_or_id.album_id
if album_id is None:
@ -1506,9 +1508,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

View file

@ -88,6 +88,8 @@ 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.
.. _python-itunes: https://github.com/ocelma/python-itunes