mirror of
https://github.com/Faraphel/Atlas-Install.git
synced 2025-07-03 11:18:26 +02:00
19 lines
No EOL
817 B
Python
19 lines
No EOL
817 B
Python
def search_tracks(self, values_list=False, not_value=False, **kwargs):
|
|
"""
|
|
:param values_list: search track with a value list instead of a single value
|
|
:param not_value: search track that does not have value
|
|
:param kwargs: any track property = any value
|
|
:return: track list respecting condition
|
|
"""
|
|
track = self.all_tracks.copy()
|
|
|
|
if values_list:
|
|
if not_value: filter_func = lambda track: getattr(track, keyword) not in value
|
|
else: filter_func = lambda track: getattr(track, keyword) in value
|
|
else:
|
|
if not_value: filter_func = lambda track: getattr(track, keyword) != value
|
|
else: filter_func = lambda track: getattr(track, keyword) == value
|
|
|
|
for keyword, value in kwargs.items():
|
|
track = list(filter(filter_func, track))
|
|
return track |