diff options
author | Aurélien Bompard <aurelien@bompard.org> | 2012-09-06 11:08:10 +0200 |
---|---|---|
committer | Aurélien Bompard <aurelien@bompard.org> | 2012-09-06 11:08:10 +0200 |
commit | 9877360a7f81943239d852de14eebf8be7674ad5 (patch) | |
tree | 835d3adec2ec9eba46233f5d7724aea9af4ceece /hyperkitty/views | |
parent | 54f6eb7982a562a3526ee3b9be62fa6e9344dbdb (diff) | |
download | hyperkitty-9877360a7f81943239d852de14eebf8be7674ad5.tar.gz hyperkitty-9877360a7f81943239d852de14eebf8be7674ad5.tar.xz hyperkitty-9877360a7f81943239d852de14eebf8be7674ad5.zip |
Move the store pool to HyperKitty
Diffstat (limited to 'hyperkitty/views')
-rw-r--r-- | hyperkitty/views/list.py | 45 | ||||
-rw-r--r-- | hyperkitty/views/message.py | 6 | ||||
-rw-r--r-- | hyperkitty/views/pages.py | 5 | ||||
-rw-r--r-- | hyperkitty/views/thread.py | 9 |
4 files changed, 34 insertions, 31 deletions
diff --git a/hyperkitty/views/list.py b/hyperkitty/views/list.py index eb3ecd5..8825511 100644 --- a/hyperkitty/views/list.py +++ b/hyperkitty/views/list.py @@ -16,10 +16,11 @@ from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger, Invali from django.contrib.auth.decorators import (login_required, permission_required, user_passes_test) +from kittystore import get_store from hyperkitty.models import Rating, Tag #from hyperkitty.lib.mockup import * -from hyperkitty.lib import ThreadSafeStorePool, get_months +from hyperkitty.lib import get_months from forms import * from hyperkitty.utils import log @@ -68,8 +69,8 @@ def archives(request, mlist_fqdn, year=None, month=None, day=None): search_form = SearchForm(auto_id=False) t = loader.get_template('month_view.html') - STORE = ThreadSafeStorePool().get() - threads = STORE.get_threads(mlist_fqdn, start=begin_date, + store = get_store(settings.KITTYSTORE_URL) + threads = store.get_threads(mlist_fqdn, start=begin_date, end=end_date) participants = set() @@ -77,9 +78,9 @@ def archives(request, mlist_fqdn, year=None, month=None, day=None): for thread in threads: # Statistics on how many participants and threads this month participants.add(thread.sender_name) - thread.participants = STORE.get_thread_participants(mlist_fqdn, + thread.participants = store.get_thread_participants(mlist_fqdn, thread.thread_id) - thread.answers = STORE.get_thread_length(mlist_fqdn, + thread.answers = store.get_thread_length(mlist_fqdn, thread.thread_id) highestlike = 0 @@ -88,7 +89,7 @@ def archives(request, mlist_fqdn, year=None, month=None, day=None): totalvotes = 0 totallikes = 0 totaldislikes = 0 - messages = STORE.get_messages_in_thread(mlist_fqdn, thread.thread_id) + messages = store.get_messages_in_thread(mlist_fqdn, thread.thread_id) for message in messages: # Extract all the votes for this message @@ -138,7 +139,7 @@ def archives(request, mlist_fqdn, year=None, month=None, day=None): threads = paginator.page(paginator.num_pages) - archives_length = get_months(STORE, mlist_fqdn) + archives_length = get_months(store, mlist_fqdn) c = RequestContext(request, { 'list_name' : list_name, @@ -173,8 +174,8 @@ def list(request, mlist_fqdn=None): end_date = datetime(today.year, today.month, today.day) begin_date = end_date - timedelta(days=32) - STORE = ThreadSafeStorePool().get() - threads = STORE.get_threads(list_name=mlist_fqdn, start=begin_date, + store = get_store(settings.KITTYSTORE_URL) + threads = store.get_threads(list_name=mlist_fqdn, start=begin_date, end=end_date) participants = set() @@ -194,9 +195,9 @@ def list(request, mlist_fqdn=None): dates[key] = 1 # Statistics on how many participants and threads this month participants.add(msg.sender_name) - msg.participants = STORE.get_thread_participants(mlist_fqdn, + msg.participants = store.get_thread_participants(mlist_fqdn, msg.thread_id) - msg.answers = STORE.get_thread_length(mlist_fqdn, + msg.answers = store.get_thread_length(mlist_fqdn, msg.thread_id) threads[cnt] = msg cnt = cnt + 1 @@ -207,7 +208,7 @@ def list(request, mlist_fqdn=None): # active threads are the ones that have the most recent posting active_threads = sorted(threads, key=lambda entry: entry.date, reverse=True) - archives_length = get_months(STORE, mlist_fqdn) + archives_length = get_months(store, mlist_fqdn) # top authors are the ones that have the most kudos. How do we determine # that? Most likes for their post? @@ -271,16 +272,16 @@ def _search_results_page(request, mlist_fqdn, threads, search_type, except (EmptyPage, InvalidPage): threads = paginator.page(paginator.num_pages) - STORE = ThreadSafeStorePool().get() + store = get_store(settings.KITTYSTORE_URL) cnt = 0 for msg in threads.object_list: msg.email = msg.sender_email.strip() # Statistics on how many participants and threads this month participants.add(msg.sender_name) if msg.thread_id: - msg.participants = STORE.get_thread_participants(mlist_fqdn, + msg.participants = store.get_thread_participants(mlist_fqdn, msg.thread_id) - msg.answers = STORE.get_thread_length(mlist_fqdn, + msg.answers = store.get_thread_length(mlist_fqdn, msg.thread_id) else: msg.participants = 0 @@ -317,7 +318,7 @@ def search(request, mlist_fqdn): def search_keyword(request, mlist_fqdn, target, keyword, page=1): ## Should we remove the code below? ## If urls.py does it job we should never need it - STORE = ThreadSafeStorePool().get() + store = get_store(settings.KITTYSTORE_URL) if not keyword: keyword = request.GET.get('keyword') if not target: @@ -327,13 +328,13 @@ def search_keyword(request, mlist_fqdn, target, keyword, page=1): regex = '%%%s%%' % keyword list_name = mlist_fqdn.split('@')[0] if target.lower() == 'subjectcontent': - threads = STORE.search_content_subject(mlist_fqdn, keyword) + threads = store.search_content_subject(mlist_fqdn, keyword) elif target.lower() == 'subject': - threads = STORE.search_subject(mlist_fqdn, keyword) + threads = store.search_subject(mlist_fqdn, keyword) elif target.lower() == 'content': - threads = STORE.search_content(mlist_fqdn, keyword) + threads = store.search_content(mlist_fqdn, keyword) elif target.lower() == 'from': - threads = STORE.search_sender(mlist_fqdn, keyword) + threads = store.search_sender(mlist_fqdn, keyword) return _search_results_page(request, mlist_fqdn, threads, 'Search', page) @@ -341,7 +342,7 @@ def search_keyword(request, mlist_fqdn, target, keyword, page=1): def search_tag(request, mlist_fqdn, tag=None, page=1): '''Returns emails having a particular tag''' - STORE = ThreadSafeStorePool().get() + store = get_store(settings.KITTYSTORE_URL) list_name = mlist_fqdn.split('@')[0] try: @@ -351,7 +352,7 @@ def search_tag(request, mlist_fqdn, tag=None, page=1): threads = [] for thread in thread_ids: - threads_tmp = STORE.get_messages_in_thread(mlist_fqdn, thread.threadid) + threads_tmp = store.get_messages_in_thread(mlist_fqdn, thread.threadid) threads.append(threads_tmp[0]) return _search_results_page(request, mlist_fqdn, threads, diff --git a/hyperkitty/views/message.py b/hyperkitty/views/message.py index 089de81..86ae139 100644 --- a/hyperkitty/views/message.py +++ b/hyperkitty/views/message.py @@ -9,9 +9,9 @@ from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger, Invali from django.contrib.auth.decorators import (login_required, permission_required, user_passes_test) +from kittystore import get_store from hyperkitty.models import Rating -from hyperkitty.lib import ThreadSafeStorePool #from hyperkitty.lib.mockup import * from forms import * from hyperkitty.utils import log @@ -26,8 +26,8 @@ def index (request, mlist_fqdn, hashid): search_form = SearchForm(auto_id=False) t = loader.get_template('message.html') - STORE = ThreadSafeStorePool().get() - message = STORE.get_message_by_hash_from_list(mlist_fqdn, hashid) + store = get_store(settings.KITTYSTORE_URL) + message = store.get_message_by_hash_from_list(mlist_fqdn, hashid) message.sender_email = message.sender_email.strip() # Extract all the votes for this message try: diff --git a/hyperkitty/views/pages.py b/hyperkitty/views/pages.py index 29945b4..a3de806 100644 --- a/hyperkitty/views/pages.py +++ b/hyperkitty/views/pages.py @@ -17,9 +17,10 @@ from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger, Invali from django.contrib.auth.decorators import (login_required, permission_required, user_passes_test) +from kittystore import get_store + from hyperkitty.models import Rating #from hyperkitty.lib.mockup import * -from hyperkitty.lib import ThreadSafeStorePool from forms import * from hyperkitty.utils import log @@ -30,7 +31,7 @@ def index(request): base_url = settings.MAILMAN_API_URL % { 'username': settings.MAILMAN_USER, 'password': settings.MAILMAN_PASS} - store = ThreadSafeStorePool().get() + store = get_store(settings.KITTYSTORE_URL) list_data = store.get_list_names() log("warn", repr(list_data)) diff --git a/hyperkitty/views/thread.py b/hyperkitty/views/thread.py index f8820c9..fd0d466 100644 --- a/hyperkitty/views/thread.py +++ b/hyperkitty/views/thread.py @@ -7,13 +7,14 @@ from django.core.paginator import Paginator, EmptyPage, PageNotAnInteger, Invali from django.contrib.auth.decorators import (login_required, permission_required, user_passes_test) +from kittystore import get_store from hyperkitty.models import Rating, Tag #from hyperkitty.lib.mockup import * from forms import * from hyperkitty.utils import log +from hyperkitty.lib import get_months -from hyperkitty.lib import ThreadSafeStorePool, get_months def thread_index (request, mlist_fqdn, threadid): @@ -22,8 +23,8 @@ def thread_index (request, mlist_fqdn, threadid): search_form = SearchForm(auto_id=False) t = loader.get_template('thread.html') - STORE = ThreadSafeStorePool().get() - threads = STORE.get_messages_in_thread(mlist_fqdn, threadid) + store = get_store(settings.KITTYSTORE_URL) + threads = store.get_messages_in_thread(mlist_fqdn, threadid) #prev_thread = mongo.get_thread_name(list_name, int(threadid) - 1) prev_thread = [] if len(prev_thread) > 30: @@ -65,7 +66,7 @@ def thread_index (request, mlist_fqdn, threadid): participants[message.sender_name] = {'email': message.sender_email} cnt = cnt + 1 - archives_length = get_months(STORE, mlist_fqdn) + archives_length = get_months(store, mlist_fqdn) from_url = '/thread/%s/%s/' % (mlist_fqdn, threadid) tag_form = AddTagForm(initial={'from_url' : from_url}) |