diff options
author | Aurélien Bompard <aurelien@bompard.org> | 2013-11-18 17:52:25 +0100 |
---|---|---|
committer | Aurélien Bompard <aurelien@bompard.org> | 2013-11-20 19:15:41 +0100 |
commit | 3d7878e1088138fbc3971313a74c91b79bbea643 (patch) | |
tree | 61c3bef248fd9c46d39dfd2b89c414c255c42395 /hyperkitty/lib/voting.py | |
parent | 467de0a0500d07b5687e4540b201016643857d30 (diff) | |
download | hyperkitty-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.py | 23 |
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" |