Exemple #1
0
 def item_extra_kwargs(self, item):
     if not item:
         return {}
     language = get_language_from_request(self.request, check_path=True)
     key = item.get_cache_key(language, 'feed')
     content = cache.get(key)
     if not content:
         view = PostDetailView.as_view(instant_article=True)
         response = view(self.request,
                         slug=item.safe_translation_getter('slug'))
         response.render()
         content = self._clean_html(response.content)
         cache.set(key, content, timeout=get_setting('FEED_CACHE_TIMEOUT'))
     if item.app_config.use_abstract:
         abstract = strip_tags(item.safe_translation_getter('abstract'))
     else:
         abstract = strip_tags(item.safe_translation_getter('post_text'))
     return {
         'author': item.get_author_name(),
         'content': content,
         'date': item.date_modified,
         'date_pub': item.date_modified,
         'date_mod': item.date_modified,
         'abstract': abstract
     }
Exemple #2
0
def get_urls():
    urls = get_setting("PERMALINK_URLS")
    details = []
    for urlconf in urls.values():
        details.append(
            path(urlconf, PostDetailView.as_view(), name="post-detail"), )
    return details
Exemple #3
0
def get_urls():
    urls = get_setting('PERMALINK_URLS')
    details = []
    for urlconf in urls.values():
        details.append(
            url(urlconf, PostDetailView.as_view(), name='post-detail'), )
    return details
Exemple #4
0
 def item_extra_kwargs(self, item):
     if not item:
         return {}
     language = get_language_from_request(self.request, check_path=True)
     key = item.get_cache_key(language, "feed")
     content = cache.get(key)
     if not content:
         view = PostDetailView.as_view(instant_article=True)
         response = view(self.request,
                         slug=item.safe_translation_getter("slug"))
         response.render()
         content = self._clean_html(response.content)
         cache.set(key, content, timeout=get_setting("FEED_CACHE_TIMEOUT"))
     if item.app_config.use_abstract:
         abstract = strip_tags(item.safe_translation_getter("abstract"))
     else:
         abstract = strip_tags(item.safe_translation_getter("post_text"))
     return {
         "author": item.get_author_name(),
         "content": content,
         "date": item.date_modified,
         "date_pub": item.date_modified,
         "date_mod": item.date_modified,
         "abstract": abstract,
     }
def get_urls():
    urls = get_setting('PERMALINK_URLS')
    details = []
    for urlconf in urls.values():
        details.append(
            url(urlconf, PostDetailView.as_view(), name='post-detail'),
        )
    return details
 def item_extra_kwargs(self, item):
     if not item:
         return {}
     language = get_language_from_request(self.request, check_path=True)
     key = item.get_cache_key(language, 'feed')
     content = cache.get(key)
     if not content:
         view = PostDetailView.as_view(instant_article=True)
         response = view(self.request, slug=item.safe_translation_getter('slug'))
         response.render()
         content = self._clean_html(response.content)
         cache.set(key, content, timeout=get_setting('FEED_CACHE_TIMEOUT'))
     if item.app_config.use_abstract:
         abstract = strip_tags(item.safe_translation_getter('abstract'))
     else:
         abstract = strip_tags(item.safe_translation_getter('post_text'))
     return {
         'author': item.get_author_name(),
         'content': content,
         'date': item.date_modified,
         'date_pub': item.date_modified,
         'date_mod': item.date_modified,
         'abstract': abstract
     }
Exemple #7
0
    def test_post_detail_view(self):
        pages = self.get_pages()
        posts = self.get_posts()

        with smart_override('en'):
            with switch_language(posts[0], 'en'):
                request = self.get_page_request(pages[1],
                                                AnonymousUser(),
                                                lang='en',
                                                edit=False)
                view_obj = PostDetailView()
                view_obj.request = request
                view_obj.namespace, view_obj.config = get_app_instance(request)

                with self.assertRaises(Http404):
                    view_obj.kwargs = {'slug': 'not-existing'}
                    post_obj = view_obj.get_object()

                view_obj.kwargs = {'slug': posts[0].slug}
                post_obj = view_obj.get_object()
                self.assertEqual(post_obj, posts[0])
                self.assertEqual(post_obj.language_code, 'en')

        with smart_override('it'):
            with switch_language(posts[0], 'it'):
                request = self.get_page_request(pages[1],
                                                AnonymousUser(),
                                                lang='it',
                                                edit=False)
                view_obj = PostDetailView()
                view_obj.request = request
                view_obj.namespace, view_obj.config = get_app_instance(request)

                view_obj.kwargs = {'slug': posts[0].slug}
                post_obj = view_obj.get_object()
                self.assertEqual(post_obj, posts[0])
                self.assertEqual(post_obj.language_code, 'it')

                view_obj.object = post_obj
                context = view_obj.get_context_data()
                self.assertEqual(context['post'], posts[0])
                self.assertEqual(context['post'].language_code, 'it')
                self.assertTrue(context['meta'])
Exemple #8
0
    def test_post_detail_view(self):
        page1, page2 = self.get_pages()
        post1, post2 = self.get_posts()

        request = self.get_page_request(page1, AnonymousUser(), r'/en/blog/', edit=False)
        activate('en')
        view_obj = PostDetailView()
        view_obj.request = request

        with self.assertRaises(Http404):
            view_obj.kwargs = {'slug': 'not-existing'}
            post_obj = view_obj.get_object()

        view_obj.kwargs = {'slug': post1.slug}
        post_obj = view_obj.get_object()
        self.assertEqual(post_obj, post1)
        self.assertEqual(post_obj.language_code, 'en')

        request = self.get_page_request(page1, AnonymousUser(), r'/it/blog/', lang_code='it', edit=False)
        activate('it')
        post1.set_current_language('it')
        view_obj.request = request
        view_obj.kwargs = {'slug': post1.slug}
        post_obj = view_obj.get_object()
        self.assertEqual(post_obj, post1)
        self.assertEqual(post_obj.language_code, 'it')

        view_obj.object = post_obj
        context = view_obj.get_context_data()
        self.assertEqual(context['post'], post1)
        self.assertEqual(context['post'].language_code, 'it')
        self.assertTrue(context['meta'])
    def test_post_detail_view(self):
        posts = self.get_posts()
        pages = self.get_pages()

        with smart_override('en'):
            with switch_language(posts[0], 'en'):
                request = self.get_page_request(pages[1], AnonymousUser(), lang='en', edit=False)
                view_obj = PostDetailView()
                view_obj.request = request
                view_obj.namespace, view_obj.config = get_app_instance(request)

                with self.assertRaises(Http404):
                    view_obj.kwargs = {'slug': 'not-existing'}
                    post_obj = view_obj.get_object()

                view_obj.kwargs = {'slug': posts[0].slug}
                post_obj = view_obj.get_object()
                self.assertEqual(post_obj, posts[0])
                self.assertEqual(post_obj.language_code, 'en')

        with smart_override('it'):
            with switch_language(posts[0], 'it'):
                request = self.get_page_request(pages[1], AnonymousUser(), lang='it', edit=False)
                view_obj = PostDetailView()
                view_obj.request = request
                view_obj.namespace, view_obj.config = get_app_instance(request)

                view_obj.kwargs = {'slug': posts[0].slug}
                post_obj = view_obj.get_object()
                self.assertEqual(post_obj, posts[0])
                self.assertEqual(post_obj.language_code, 'it')

                view_obj.object = post_obj
                context = view_obj.get_context_data()
                self.assertEqual(context['post'], posts[0])
                self.assertEqual(context['post'].language_code, 'it')
                self.assertTrue(context['meta'])
    def test_post_detail_view(self):
        pages = self.get_pages()
        posts = self.get_posts()

        with smart_override("en"):
            with switch_language(posts[0], "en"):
                request = self.get_page_request(pages[1], AnonymousUser(), lang="en", edit=False)
                view_obj = PostDetailView()
                view_obj.request = request
                view_obj.namespace, view_obj.config = get_app_instance(request)

                with self.assertRaises(Http404):
                    view_obj.kwargs = {"slug": "not-existing"}
                    post_obj = view_obj.get_object()

                view_obj.kwargs = {"slug": posts[0].slug}
                post_obj = view_obj.get_object()
                self.assertEqual(post_obj, posts[0])
                self.assertEqual(post_obj.language_code, "en")

        with smart_override("it"):
            with switch_language(posts[0], "it"):
                request = self.get_page_request(pages[1], AnonymousUser(), lang="it", edit=False)
                view_obj = PostDetailView()
                view_obj.request = request
                view_obj.namespace, view_obj.config = get_app_instance(request)

                view_obj.kwargs = {"slug": posts[0].slug}
                post_obj = view_obj.get_object()
                self.assertEqual(post_obj, posts[0])
                self.assertEqual(post_obj.language_code, "it")

                view_obj.object = post_obj
                context = view_obj.get_context_data()
                self.assertEqual(context["post"], posts[0])
                self.assertEqual(context["post"].language_code, "it")
                self.assertTrue(context["meta"])