Skip to content
Snippets Groups Projects
Select Git revision
  • d7dc06fcb75334564059956b8353d2615d6d2520
  • master default protected
  • 2.0.0-alpha-11
  • 2.0.0-alpha-10
  • 2.0.0-alpha-9
  • 2.0.0-alpha-8
  • 2.0.0-alpha-7
  • 2.0.0-alpha-6
  • 2.0.0-alpha-5
  • 2.0.0-alpha-4
  • 2.0.0-alpha-3
  • 2.0.0-alpha-2
  • 2.0.0-alpha-1
  • 1.8.0
  • 1.7.0
  • 1.6.4
  • 1.6.3
  • 1.6.2
  • 1.6.1
  • 1.6.0
  • 1.5.5
  • 1.5.4
22 results

password-input.mustache

Blame
  • Forked from TO / Weby / ui-styleguide
    Source project has a limited visibility.
    feeds.py 2.02 KiB
    import typing
    from datetime import datetime
    
    from django.contrib.syndication.views import Feed
    from django.template.loader import render_to_string
    
    
    class LatestArticlesFeed(Feed):
        def __init__(self, articles_page_model, article_page_model, *args, **kwargs):
            self.articles_page_model = articles_page_model
            self.article_page_model = article_page_model
    
            return super().__init__(*args, **kwargs)
    
        def get_object(self, request, id: int):
            return self.articles_page_model.objects.get(id=id)
    
        def title(self, obj) -> str:
            return obj.title
    
        def link(self, obj) -> str:
            return obj.get_full_url()
    
        def description(self, obj) -> str:
            return obj.perex
    
        def items(self, obj) -> list:
            return obj.materialize_shared_articles_query(
                obj.append_all_shared_articles_query(
                    self.article_page_model.objects.child_of(obj)
                )[:32]
            )
    
        def item_title(self, item) -> str:
            return item.title
    
        def item_description(self, item) -> str:
            return render_to_string(
                "styleguide2/feed_item_description.html",
                {"item": item},
            )
    
        def item_pubdate(self, item) -> datetime:
            return datetime(
                item.date.year,
                item.date.month,
                item.date.day,
                12,
                0,
            )
    
        def item_author_name(self, item) -> str:
            if item.author:
                return item.author
    
            if item.author_page and item.author_page.title:
                return item.author_page.title
    
            return ""
    
        def item_categories(self, item) -> list:
            return item.get_tags
    
        def item_link(self, item) -> str:
            return item.get_full_url()
    
        def item_enclosure_url(self, item) -> typing.Union[None, str]:
            if item.image is None:
                return None
    
            return item.image.get_rendition("format-webp").full_url
    
        item_enclosure_mime_type = "image/webp"
    
        def item_enclosure_length(self, item) -> int:
            return item.image.file_size