summaryrefslogtreecommitdiffstats
path: root/hyperkitty/views
diff options
context:
space:
mode:
Diffstat (limited to 'hyperkitty/views')
-rw-r--r--hyperkitty/views/list.py45
-rw-r--r--hyperkitty/views/message.py6
-rw-r--r--hyperkitty/views/pages.py5
-rw-r--r--hyperkitty/views/thread.py9
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})