def _apply_filter(album: list, user: User):
"""
Applys a user's filters to a card album, removing anything not matching
the filter.
:param album: Album being filtered.
:param user: User who requested the album.
:return: Filtered album.
"""
filters = _last_user_args[user.id]['filters']
for filter_type in filters:
filter_values = filters[filter_type]
if not filter_values:
continue
# Looping backwards since we are removing elements
for i in range(len(album) - 1, -1, -1):
# Generic case
if album[i][filter_type] not in filter_values:
album.pop(i)
return album
评论列表
文章目录