def parse_post(self, post): if self.context['mode'] == PostingEndpoint.START: return common_flavour(self.context['request'], self.context['user'], post) else: return common_flavour(self.context['request'], self.context['post'].poster, post)
def validate_post(self, post): post_len = len(post) if not post_len: raise forms.ValidationError(_("Enter message.")) if post_len < settings.post_length_min: message = ungettext( "Posted message should be at least %(limit)s character long.", "Posted message should be at least %(limit)s characters long.", settings.post_length_min) message = message % {'limit': settings.post_length_min} raise forms.ValidationError(message) if settings.post_length_max and post_len > settings.post_length_max: message = ungettext( "Posted message can't be longer than %(limit)s character.", "Posted message can't be longer than %(limit)s characters.", settings.post_length_max, ) message = message % {'limit': settings.post_length_max} raise forms.ValidationError(message) self.parsing_result = common_flavour(post, self.post_instance.poster) self.post_instance.original = self.parsing_result['original_text'] self.post_instance.parsed = self.parsing_result['parsed_text']
def validate_post(self, post): post_len = len(post) if not post_len: raise forms.ValidationError(_("Enter message.")) if post_len < settings.post_length_min: message = ungettext( "Posted message should be at least %(limit)s character long.", "Posted message should be at least %(limit)s characters long.", settings.post_length_min) message = message % {'limit': settings.post_length_min} raise forms.ValidationError(message) if settings.post_length_max and post_len > settings.post_length_max: message = ungettext( "Posted message can't be longer than %(limit)s character.", "Posted message can't be longer than %(limit)s characters.", settings.post_length_max,) message = message % {'limit': settings.post_length_max} raise forms.ValidationError(message) self.parsing_result = common_flavour(post, self.post_instance.poster) self.post_instance.original = self.parsing_result['original_text'] self.post_instance.parsed = self.parsing_result['parsed_text']
def clean_posts(): for post in batch_update(Post.objects): post.original = clean_original(post.original) parsed_post = common_flavour(FakeRequest(), FakeUser(), post.original) post.parsed = parsed_post['parsed_text'] update_post_checksum(post) post.save()
def get_parsed_content(setting_name): cache_name = 'misago_legal_%s' % setting_name cached_content = cache.get(cache_name) unparsed_content = settings.get_lazy_setting(setting_name) checksum_source = '%s:%s' % (unparsed_content, settings.SECRET_KEY) unparsed_checksum = md5(checksum_source).hexdigest() if cached_content and cached_content.get('checksum') == unparsed_checksum: return cached_content['parsed'] else: cached_content = { 'checksum': unparsed_checksum, 'parsed': common_flavour(unparsed_content)['parsed_text'], } cache.set(cache_name, cached_content) return cached_content['parsed']
def revert_post_endpoint(request, post): edit = get_edit_by_pk(post, request.GET.get('edit')) datetime = timezone.now() post_edits = post.edits post.edits_record.create( category=post.category, thread=post.thread, edited_on=datetime, editor=request.user, editor_name=request.user.username, editor_slug=request.user.slug, editor_ip=request.user_ip, edited_from=post.original, edited_to=edit.edited_from, ) parsing_result = common_flavour(request, post.poster, edit.edited_from) post.original = parsing_result['original_text'] post.parsed = parsing_result['parsed_text'] update_post_checksum(post) post.updated_on = datetime post.edits = F('edits') + 1 post.last_editor = request.user post.last_editor_name = request.user.username post.last_editor_slug = request.user.slug post.save() post.is_read = True post.is_new = False post.edits = post_edits + 1 add_acl(request.user, post) if post.poster: make_users_status_aware(request.user, [post.poster]) return Response(PostSerializer(post, context={'user': request.user}).data)
def get_parsed_agreement_text(request, agreement): if not agreement.text: return None cache_name = 'misago_legal_%s_%s' % (agreement.pk, agreement.last_modified_on or '') cached_content = cache.get(cache_name) unparsed_content = agreement.text checksum_source = force_bytes('%s:%s' % (unparsed_content, settings.SECRET_KEY)) unparsed_checksum = md5(checksum_source).hexdigest() if cached_content and cached_content.get('checksum') == unparsed_checksum: return cached_content['parsed'] else: parsed = common_flavour(request, None, unparsed_content)['parsed_text'] cached_content = { 'checksum': unparsed_checksum, 'parsed': parsed, } cache.set(cache_name, cached_content) return cached_content['parsed']
def parse_post(self, post): if self.mode == PostingEndpoint.START: return common_flavour(self.request, self.user, post) else: return common_flavour(self.request, self.post.poster, post)
def parse_post(self, post): self.parsing_result = common_flavour(self.request, self.post_instance.poster, post) self.post_instance.original = self.parsing_result['original_text'] self.post_instance.parsed = self.parsing_result['parsed_text']
def parse_post(self, post): self.parsing_result = common_flavour( self.request, self.post_instance.poster, post) self.post_instance.original = self.parsing_result['original_text'] self.post_instance.parsed = self.parsing_result['parsed_text']