示例#1
0
    def get(self, blog_post_url):
        """Handles GET requests."""
        blog_post = blog_services.get_blog_post_by_url_fragment(blog_post_url)
        if not blog_post:
            raise self.PageNotFoundException(
                Exception(
                    'The blog post page with the given url doesn\'t exist.'))
        user_settings = user_services.get_user_settings(blog_post.author_id)
        blog_post_dict = (
            blog_services.get_blog_post_from_model(blog_post).to_dict())
        blog_post_dict['author_name'] = user_settings.username
        del blog_post_dict['author_id']
        blog_post_summaries = (
            blog_services.get_published_blog_post_summaries_by_user_id(
                blog_post.author_id,
                feconf.MAX_POSTS_TO_RECOMMEND_AT_END_OF_BLOG_POST))
        blog_post_summary_dicts = (
            _get_blog_card_summary_dicts_for_homepage(blog_post_summaries))

        self.values.update({
            'profile_picture_data_url': user_settings.profile_picture_data_url,
            'blog_post_dict': blog_post_dict,
            'summary_dicts': blog_post_summary_dicts
        })
        self.render_json(self.values)
示例#2
0
 def test_get_blog_post_by_url_fragment(self):
     blog_services.update_blog_post(
         self.blog_post_a_id, self.change_dict_one)
     expected_blog_post = (
         blog_services.get_blog_post_by_id(self.blog_post_a_id))
     lower_id = '-' + self.blog_post_a_id.lower()
     blog_post = blog_services.get_blog_post_by_url_fragment(
         'sample-title' + lower_id)
     self.assertEqual(blog_post.to_dict(), expected_blog_post.to_dict())
示例#3
0
 def test_get_blog_post_by_url_fragment(self) -> None:
     blog_services.update_blog_post(
         self.blog_post_a_id, self.change_dict_one)
     expected_blog_post = (
         blog_services.get_blog_post_by_id(self.blog_post_a_id))
     lower_id = '-' + self.blog_post_a_id.lower()
     blog_post = blog_services.get_blog_post_by_url_fragment(
         'sample-title' + lower_id)
     # Ruling out the possibility of None for mypy type checking.
     assert blog_post is not None
     self.assertEqual(blog_post.to_dict(), expected_blog_post.to_dict())