Exemplo n.º 1
0
    def _get_plugin_patterns(self):
        log.debug("PluginURLPattern._get_plugin_patterns")
        from pylucid_project.apps.pylucid.models.pluginpage import PluginPage
        from pylucid_project.apps.pylucid.models.pagemeta import PageMeta
        from pylucid_project.apps.pylucid.models.pagetree import PageTree

        plugin_pages = PluginPage.objects.all()
        all_page_metas = PageMeta.objects.filter(
            pagetree__page_type=PageTree.PLUGIN_TYPE)

        pattern_list = []
        for plugin_page in plugin_pages:
            plugin_instance = plugin_page.get_plugin()

            page_metas = all_page_metas.filter(pagetree=plugin_page.pagetree)
            for page_meta in page_metas:
                url_prefix = page_meta.get_absolute_url()
                log.debug("add patterns for url prefix: %r" % url_prefix)

                prefixed_urlpatterns = plugin_instance.get_prefix_urlpatterns(
                    url_prefix, plugin_page.urls_filename)
                log_urls(urlpatterns=prefixed_urlpatterns)
                pattern_list += prefixed_urlpatterns

        debug_log_urls(pattern_list)
        log_urls(urlpatterns=pattern_list)
        plugin_patterns = RegexURLResolver(r'', pattern_list)
        return plugin_patterns
Exemplo n.º 2
0
    def _get_plugin_patterns(self):
        log.debug("PluginURLPattern._get_plugin_patterns")
        from pylucid_project.apps.pylucid.models.pluginpage import PluginPage
        from pylucid_project.apps.pylucid.models.pagemeta import PageMeta
        from pylucid_project.apps.pylucid.models.pagetree import PageTree

        plugin_pages = PluginPage.objects.all()
        all_page_metas = PageMeta.objects.filter(pagetree__page_type=PageTree.PLUGIN_TYPE)

        pattern_list = []
        for plugin_page in plugin_pages:
            plugin_instance = plugin_page.get_plugin()

            page_metas = all_page_metas.filter(pagetree=plugin_page.pagetree)
            for page_meta in page_metas:
                url_prefix = page_meta.get_absolute_url()
                log.debug("add patterns for url prefix: %r" % url_prefix)

                prefixed_urlpatterns = plugin_instance.get_prefix_urlpatterns(url_prefix, plugin_page.urls_filename)
                log_urls(urlpatterns=prefixed_urlpatterns)
                pattern_list += prefixed_urlpatterns

        debug_log_urls(pattern_list)
        log_urls(urlpatterns=pattern_list)
        plugin_patterns = RegexURLResolver(r'', pattern_list)
        return plugin_patterns
Exemplo n.º 3
0
def summary(request):
    """
    Display summary list with all blog entries.
    """
    log_urls(only=("blog",), hide=("/admin/", "/pylucid_admin/"))

    url = urlresolvers.reverse("Blog-summary")
    if url != request.path:
        # e.g.: request with wrong permalink: /en/blog/XXX/foobar-slug/
        return HttpResponseRedirect(url)

    # Get all blog entries, that the current user can see
    paginator = BlogEntryContent.objects.get_filtered_queryset(request, filter_language=True)

    # Calculate the tag cloud from all existing entries
    tag_cloud = BlogEntryContent.objects.get_tag_cloud(request)

    _add_breadcrumb(request, _("All articles."))

    # For adding page update information into context by pylucid context processor
    try:
        # Use the newest blog entry for date info
        request.PYLUCID.updateinfo_object = paginator.object_list[0]
    except IndexError:
        # No blog entries created, yet.
        pass

    context = {
        "entries": paginator,
        "tag_cloud": tag_cloud,
        "CSS_PLUGIN_CLASS_NAME": settings.PYLUCID.CSS_PLUGIN_CLASS_NAME,
        "filenames": FEED_FILENAMES,
        "page_robots": "noindex,follow",
    }
    return context
Exemplo n.º 4
0
def summary(request):
    """
    Display summary list with all blog entries.
    """
    log_urls(only=("blog", ), hide=("/admin/", "/pylucid_admin/"))

    url = urlresolvers.reverse("Blog-summary")
    if url != request.path:
        # e.g.: request with wrong permalink: /en/blog/XXX/foobar-slug/
        return HttpResponseRedirect(url)

    # Get all blog entries, that the current user can see
    paginator = BlogEntryContent.objects.get_filtered_queryset(
        request, filter_language=True)

    # Calculate the tag cloud from all existing entries
    tag_cloud = BlogEntryContent.objects.get_tag_cloud(request)

    _add_breadcrumb(request, _("All articles."))

    # For adding page update information into context by pylucid context processor
    try:
        # Use the newest blog entry for date info
        request.PYLUCID.updateinfo_object = paginator.object_list[0]
    except IndexError:
        # No blog entries created, yet.
        pass

    context = {
        "entries": paginator,
        "tag_cloud": tag_cloud,
        "CSS_PLUGIN_CLASS_NAME": settings.PYLUCID.CSS_PLUGIN_CLASS_NAME,
        "filenames": FEED_FILENAMES,
        "page_robots": "noindex,follow",
    }
    return context