def _apply_sort(album: list, user: User) -> list:
"""
Applys a user's sort to a card album.
:param album: Album being sorted.
:param user: User who requested the album.
:return: Sorted album.
"""
sort = _last_user_args[user.id]['sort']
# FIXME This var doesn't seem to have any use.
order = _last_user_args[user.id]['order']
if not sort:
return album
if sort == 'date':
sort = 'release_date'
if sort == 'unit':
sort = 'main_unit'
if sort == 'subunit':
sort = 'sub_unit'
if sort == 'newest':
sort = 'time_aquired'
sort_descending = sort in [
'rarity',
'attribute',
'release_date',
'time_aquired',
'main_unit',
'sub_unit'
]
return sorted(album, key=itemgetter(sort, 'id'), reverse=sort_descending)
评论列表
文章目录