summaryrefslogtreecommitdiffstats
path: root/hyperkitty/lib/voting.py
diff options
context:
space:
mode:
authorAurélien Bompard <aurelien@bompard.org>2013-11-18 17:52:25 +0100
committerAurélien Bompard <aurelien@bompard.org>2013-11-20 19:15:41 +0100
commit3d7878e1088138fbc3971313a74c91b79bbea643 (patch)
tree61c3bef248fd9c46d39dfd2b89c414c255c42395 /hyperkitty/lib/voting.py
parent467de0a0500d07b5687e4540b201016643857d30 (diff)
downloadhyperkitty-3d7878e1088138fbc3971313a74c91b79bbea643.tar.gz
hyperkitty-3d7878e1088138fbc3971313a74c91b79bbea643.tar.xz
hyperkitty-3d7878e1088138fbc3971313a74c91b79bbea643.zip
Improve and write tests for the set_thread_votes function
Diffstat (limited to 'hyperkitty/lib/voting.py')
-rw-r--r--hyperkitty/lib/voting.py23
1 files changed, 8 insertions, 15 deletions
diff --git a/hyperkitty/lib/voting.py b/hyperkitty/lib/voting.py
index 56fee7e..da3e2a4 100644
--- a/hyperkitty/lib/voting.py
+++ b/hyperkitty/lib/voting.py
@@ -59,26 +59,19 @@ def set_message_votes(message, user=None):
# message.likestatus = "dislike"
-def set_thread_votes(thread, user=None):
- total = myvote = 0
+def set_thread_votes(thread):
likes = dislikes = None
cache_key = "list:%s:thread:%s:votes" % (thread.list_name, thread.thread_id)
- if user is None or not user.is_authenticated():
- likes, dislikes = cache.get(cache_key, (None, None))
- myvote = 0
+ likes, dislikes = cache.get(cache_key, (None, None))
if likes is None or dislikes is None:
# XXX: 1 SQL request per thread, possible optimization here
- likes, dislikes, myvote = get_votes(thread.email_id_hashes)
+ likes, dislikes, _myvote = get_votes(thread.email_id_hashes)
cache.set(cache_key, (likes, dislikes))
- total = likes + dislikes
- try:
- thread.likes = likes / total
- except ZeroDivisionError:
- thread.likes = 0
- try:
- thread.dislikes = dislikes / total
- except ZeroDivisionError:
- thread.dislikes = 0
+ # How should thread likes and dislikes be counted?
+ #thread.likes = likes / thread.emails_count
+ #thread.dislikes = dislikes / thread.emails_count
+ thread.likes = likes
+ thread.dislikes = dislikes
thread.likestatus = "neutral"
if thread.likes - thread.dislikes >= 10:
thread.likestatus = "likealot"