From acfa124252445aec447fc63e3484fac6a2f0d918 Mon Sep 17 00:00:00 2001 From: Lars Beckers <lars.beckers@rwth-aachen.de> Date: Mon, 12 Jun 2017 15:08:26 +0200 Subject: [PATCH] fix balanced sorting when statement count is equal --- models/database.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/models/database.py b/models/database.py index d0cb806..faf5914 100644 --- a/models/database.py +++ b/models/database.py @@ -100,7 +100,7 @@ class Topic(db.Model): if self.mode == "fifo": 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)) + return sorted(statements, key=lambda st:(-2,st.id) if st.is_current else (-1,st.id) if st.is_meta else (st.speaker.count(self), st.id)) elif self.mode == "random": return sorted(statements, key=lambda st:random.random()) else: @@ -143,8 +143,9 @@ class Speaker(db.Model): self.event_id = event_id def __repr__(self): - return "<Speaker(id={}, name='{}', event_id={})>".format( + return "<Speaker(id={}, number={}, name='{}', event_id={})>".format( self.id, + self.number, self.name, self.event_id ) -- GitLab