def parse_markup(request): post = six.text_type(request.data.get('post', '')).strip() try: validate_post(post) except ValidationError as e: return Response({'detail': e.args[0]}, status=status.HTTP_400_BAD_REQUEST) parsed = common_flavour(request, request.user, post, force_shva=True)['parsed_text'] finalised = finalise_markup(parsed) return Response({'parsed': finalised})
def parse_markup(request): post = six.text_type(request.data.get('post', '')).strip() try: validate_post(post) except ValidationError as e: return Response({ 'detail': e.args[0] }, status=status.HTTP_400_BAD_REQUEST) return Response({ 'parsed': common_flavour(request, request.user, post, force_shva=True)['parsed_text'] })
def validate(self, data): if data.get('post'): data['parsing_result'] = self.parse_post(data['post']) data = validate_post(self.context, data) return data
def validate(self, data): if data.get('post'): data['parsing_result'] = self.parse_post(data['post']) data = validate_post(self.context, data) return data
def test_valid_posts(self): """valid post passes validation""" validate_post("Lorem ipsum dolor met sit amet elit.")
def test_too_long_post(self): """too long post is rejected""" with self.assertRaises(ValidationError): post = 'a' * settings.post_length_max validate_post(post * 2)
def test_too_short_post(self): """too short post is rejected""" with self.assertRaises(ValidationError): post = 'a' * settings.post_length_min validate_post(post[1:])
def test_empty_post(self): """empty post is rejected""" with self.assertRaises(ValidationError): validate_post("")