skip queue
This commit is contained in:
+10
-3
@@ -10,11 +10,18 @@ def from_json(cls, json):
|
||||
return cls.objects.create(**subset)
|
||||
|
||||
def get_unvoted(user):
|
||||
"""Gets next voting track for user. Returns a pair with track and flag if this was a skipped track"""
|
||||
votes = set(Vote.objects.filter(user=user).values_list('track_id', flat=True))
|
||||
tracks = set(Track.objects.filter(banter_done=True).values_list('pk', flat=True))
|
||||
seed(user.username)
|
||||
try:
|
||||
random_track = choice(list(tracks - votes))
|
||||
return Track.objects.get(pk=random_track)
|
||||
queue = list(tracks - votes)
|
||||
skipped = False
|
||||
if not queue:
|
||||
skipped = True
|
||||
queue = list(Vote.objects.filter(user=user).filter(skipped=True).values_list('track_id', flat=True))
|
||||
random_track = choice(queue)
|
||||
choice
|
||||
return (Track.objects.get(pk=random_track), skipped)
|
||||
except IndexError:
|
||||
return None
|
||||
return (None, False)
|
||||
|
||||
Reference in New Issue
Block a user