From 4c32ac2bca3d4c46ab6419a0dd10a8c4872748be Mon Sep 17 00:00:00 2001 From: Robin Sonnabend <robin@fsmpi.rwth-aachen.de> Date: Tue, 17 Nov 2015 21:25:25 +0100 Subject: [PATCH] Implemented random sorting --- models/database.py | 3 +++ models/forms.py | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/models/database.py b/models/database.py index bc36fc2..d0cb806 100644 --- a/models/database.py +++ b/models/database.py @@ -1,6 +1,7 @@ from flask.ext.login import UserMixin from datetime import datetime +import random from shared import db @@ -100,6 +101,8 @@ class Topic(db.Model): return sorted(statements, key=lambda st:-2 if st.is_current else -1 if st.is_meta else st.id) elif self.mode == "balanced": return sorted(statements, key=lambda st:-2 if st.is_current else -1 if st.is_meta else st.speaker.count(self)) + elif self.mode == "random": + return sorted(statements, key=lambda st:random.random()) else: return statements diff --git a/models/forms.py b/models/forms.py index 2048960..f9e0be3 100644 --- a/models/forms.py +++ b/models/forms.py @@ -37,5 +37,5 @@ class NewEventForm(Form): class NewTopicForm(Form): name = StringField("Name", validators=[InputRequired("Entering the name is required.")]) - mode = StringField("Mode", validators=[InputRequired("Entering the mode is required."), AnyOf(values=["balanced", "fifo"], message="Must be 'balanced' or 'fifo' atm.")]) + mode = StringField("Mode", validators=[InputRequired("Entering the mode is required."), AnyOf(values=["balanced", "fifo", "random"], message="Must be 'balanced', 'fifo' or 'random' atm.")]) event_id = HiddenField("Event_id") -- GitLab