diff --git a/boards/abstracts/paginator.py b/boards/abstracts/paginator.py --- a/boards/abstracts/paginator.py +++ b/boards/abstracts/paginator.py @@ -1,6 +1,6 @@ -from django.core.paginator import Paginator +__author__ = 'neko259' -__author__ = 'neko259' +from django.core.paginator import Paginator PAGINATOR_LOOKAROUND_SIZE = 3 diff --git a/boards/views/all_threads.py b/boards/views/all_threads.py --- a/boards/views/all_threads.py +++ b/boards/views/all_threads.py @@ -8,9 +8,14 @@ from boards.abstracts.paginator import g from boards.forms import ThreadForm, PlainErrorList from boards.models import Post, Thread, Ban, Tag from boards.views.banned import BannedView -from boards.views.base import BaseBoardView, PARAMETER_FORM +from boards.views.base import BaseBoardView, CONTEXT_FORM from boards.views.posting_mixin import PostMixin +FORM_TAGS = 'tags' +FORM_TEXT = 'text' +FORM_TITLE = 'title' +FORM_IMAGE = 'image' + TAG_DELIMITER = ' ' PARAMETER_CURRENT_PAGE = 'current_page' @@ -40,7 +45,7 @@ class AllThreadsView(PostMixin, BaseBoar threads = paginator.page(page).object_list context[PARAMETER_THREADS] = threads - context[PARAMETER_FORM] = form + context[CONTEXT_FORM] = form self._get_page_context(paginator, context, page) @@ -103,17 +108,17 @@ class AllThreadsView(PostMixin, BaseBoar data = form.cleaned_data - title = data['title'] - text = data['text'] + title = data[FORM_TITLE] + text = data[FORM_TEXT] text = self._remove_invalid_links(text) - if 'image' in data.keys(): - image = data['image'] + if FORM_IMAGE in data.keys(): + image = data[FORM_IMAGE] else: image = None - tag_strings = data['tags'] + tag_strings = data[FORM_TAGS] tags = self.parse_tags_string(tag_strings) diff --git a/boards/views/base.py b/boards/views/base.py --- a/boards/views/base.py +++ b/boards/views/base.py @@ -8,7 +8,7 @@ from boards.models.user import Ban BAN_REASON_SPAM = 'Autoban: spam bot' -PARAMETER_FORM = 'form' +CONTEXT_FORM = 'form' class BaseBoardView(View): diff --git a/boards/views/login.py b/boards/views/login.py --- a/boards/views/login.py +++ b/boards/views/login.py @@ -1,7 +1,7 @@ from django.shortcuts import render, redirect from boards.forms import LoginForm, PlainErrorList from boards.models import User -from boards.views.base import BaseBoardView, PARAMETER_FORM +from boards.views.base import BaseBoardView, CONTEXT_FORM __author__ = 'neko259' @@ -13,7 +13,7 @@ class LoginView(BaseBoardView): if not form: form = LoginForm() - context[PARAMETER_FORM] = form + context[CONTEXT_FORM] = form return render(request, 'boards/login.html', context) diff --git a/boards/views/settings.py b/boards/views/settings.py --- a/boards/views/settings.py +++ b/boards/views/settings.py @@ -2,7 +2,7 @@ from django.db import transaction from django.shortcuts import render, redirect from boards import utils -from boards.views.base import BaseBoardView, PARAMETER_FORM +from boards.views.base import BaseBoardView, CONTEXT_FORM from boards.forms import SettingsForm, ModeratorSettingsForm, PlainErrorList from boards.models.post import SETTING_MODERATE @@ -26,7 +26,7 @@ class SettingsView(BaseBoardView): form = SettingsForm(initial={'theme': selected_theme}, error_class=PlainErrorList) - context[PARAMETER_FORM] = form + context[CONTEXT_FORM] = form return render(request, 'boards/settings.html', context) diff --git a/boards/views/thread.py b/boards/views/thread.py --- a/boards/views/thread.py +++ b/boards/views/thread.py @@ -8,17 +8,28 @@ from boards import utils, settings from boards.forms import PostForm, PlainErrorList from boards.models import Post, Ban from boards.views.banned import BannedView -from boards.views.base import BaseBoardView, PARAMETER_FORM +from boards.views.base import BaseBoardView, CONTEXT_FORM from boards.views.posting_mixin import PostMixin +TEMPLATE_GALLERY = 'boards/thread_gallery.html' +TEMPLATE_NORMAL = 'boards/thread.html' + +CONTEXT_POSTS = 'posts' +CONTEXT_OP = 'opening_post' +CONTEXT_BUMPLIMIT_PRG = 'bumplimit_progress' +CONTEXT_POSTS_LEFT = 'posts_left' +CONTEXT_LASTUPDATE = "last_update" +CONTEXT_MAX_REPLIES = 'max_replies' +CONTEXT_THREAD = 'thread' +CONTEXT_BUMPABLE = 'bumpable' + +FORM_TITLE = 'title' +FORM_TEXT = 'text' +FORM_IMAGE = 'image' MODE_GALLERY = 'gallery' MODE_NORMAL = 'normal' -PARAMETER_MAX_REPLIES = 'max_replies' -PARAMETER_THREAD = 'thread' -PARAMETER_BUMPABLE = 'bumpable' - class ThreadView(BaseBoardView, PostMixin, FormMixin): @@ -39,29 +50,30 @@ class ThreadView(BaseBoardView, PostMixi context = self.get_context_data(request=request) - context[PARAMETER_FORM] = form - context["last_update"] = utils.datetime_to_epoch( + context[CONTEXT_FORM] = form + context[CONTEXT_LASTUPDATE] = utils.datetime_to_epoch( thread_to_show.last_edit_time) - context[PARAMETER_THREAD] = thread_to_show - context[PARAMETER_MAX_REPLIES] = settings.MAX_POSTS_PER_THREAD + context[CONTEXT_THREAD] = thread_to_show + context[CONTEXT_MAX_REPLIES] = settings.MAX_POSTS_PER_THREAD if MODE_NORMAL == mode: - context[PARAMETER_BUMPABLE] = thread_to_show.can_bump() - if context[PARAMETER_BUMPABLE]: - context['posts_left'] = settings.MAX_POSTS_PER_THREAD \ - - thread_to_show.get_reply_count() - context['bumplimit_progress'] = str( - float(context['posts_left']) / - settings.MAX_POSTS_PER_THREAD * 100) + bumpable = thread_to_show.can_bump() + context[CONTEXT_BUMPABLE] = bumpable + if bumpable: + left_posts = settings.MAX_POSTS_PER_THREAD \ + - thread_to_show.get_reply_count() + context[CONTEXT_POSTS_LEFT] = left_posts + context[CONTEXT_BUMPLIMIT_PRG] = str( + float(left_posts) / settings.MAX_POSTS_PER_THREAD * 100) - context['opening_post'] = opening_post + context[CONTEXT_OP] = opening_post - document = 'boards/thread.html' + document = TEMPLATE_NORMAL elif MODE_GALLERY == mode: - context['posts'] = thread_to_show.get_replies_with_images( + context[CONTEXT_POSTS] = thread_to_show.get_replies_with_images( view_fields_only=True) - document = 'boards/thread_gallery.html' + document = TEMPLATE_GALLERY else: raise Http404 @@ -102,13 +114,13 @@ class ThreadView(BaseBoardView, PostMixi data = form.cleaned_data - title = data['title'] - text = data['text'] + title = data[FORM_TITLE] + text = data[FORM_TEXT] text = self._remove_invalid_links(text) - if 'image' in data.keys(): - image = data['image'] + if FORM_IMAGE in data.keys(): + image = data[FORM_IMAGE] else: image = None @@ -125,8 +137,8 @@ class ThreadView(BaseBoardView, PostMixi if html_response: if opening_post: - return redirect(reverse( - 'thread', - kwargs={'post_id': thread_to_show}) + '#' + str(post.id)) + return redirect( + reverse('thread', kwargs={'post_id': thread_to_show}) + + '#' + str(post.id)) else: return post