text: """Views for Zinnia entries"""
  from django.views.generic.dates import BaseDateDetailView
  
  from zinnia.models.entry import Entry
  from zinnia.views.mixins.archives import ArchiveMixin
  from zinnia.views.mixins.callable_queryset import CallableQuerysetMixin
  from zinnia.views.mixins.entry_cache import EntryCacheMixin
  from zinnia.views.mixins.entry_preview import EntryPreviewMixin
  from zinnia.views.mixins.entry_protection import EntryProtectionMixin
  from zinnia.views.mixins.templates import EntryArchiveTemplateResponseMixin
  from zinnia.views.mixins.entry_pageview import EntryPageViewMixin
  
  
  class EntryDateDetail(ArchiveMixin,
                        EntryArchiveTemplateResponseMixin,
                        CallableQuerysetMixin,
                        BaseDateDetailView):
      """
      Mixin combinating:
  
      - ArchiveMixin configuration centralizing conf for archive views
      - EntryArchiveTemplateResponseMixin to provide a
        custom templates depending on the date
      - BaseDateDetailView to retrieve the entry with date and slug
      - CallableQueryMixin to defer the execution of the *queryset*
        property when imported
      """
      queryset = Entry.published.on_site
  
  
  class EntryDetail(EntryCacheMixin,
                    EntryPreviewMixin,
                    EntryProtectionMixin,
                    EntryPageViewMixin,
                    EntryDateDetail):
      """
      Detailled archive view for an Entry with password
      and login protections and restricted preview.
      """
  