from boards.views.thread import ThreadView from boards.views.mixins import FileUploadMixin TEMPLATE_NORMAL = 'boards/thread_normal.html' CONTEXT_BUMPLIMIT_PRG = 'bumplimit_progress' CONTEXT_POSTS_LEFT = 'posts_left' CONTEXT_BUMPABLE = 'bumpable' PARAM_MAX_FILE_SIZE = 'max_file_size' class NormalThreadView(ThreadView, FileUploadMixin): def get_template(self): return TEMPLATE_NORMAL def get_mode(self): return 'normal' def get_data(self, thread): params = dict() bumpable = thread.can_bump() params[CONTEXT_BUMPABLE] = bumpable max_posts = thread.max_posts if bumpable and thread.has_post_limit(): left_posts = max_posts - thread.get_reply_count() params[CONTEXT_POSTS_LEFT] = left_posts params[CONTEXT_BUMPLIMIT_PRG] = str( float(left_posts) / max_posts * 100) params[PARAM_MAX_FILE_SIZE] = self.get_max_upload_size() return params