예제 #1
0
def show_pages_tag(tag):
    pages = Page().query(Page.page_type == 'article')
    pages = pages.filter(Page.published_at != None)
    pages = pages.filter(Page.published_at < datetime.now())
    pages = pages.filter(Page.tags == tag)
    pages = pages.order(-Page.published_at)
    return show_pages(pages)
예제 #2
0
def make_request_context(dic=None):
    from limited.utils import widgets
    from models import Page, Tag, User
    from viewutils import get_latest_comments

    if dic is None:
        dic = {}

    static_files = GroupedDict(find_static_files())

    dic.update((key, getattr(settings, key)) for key in ("BLOG_URL", "MEDIA_URL", "ADMINS", "USE_PYGMENTS"))
    dic.update(DEFAULT_CONTEXT_VARIABLES)
    dic.update(
        {
            "navigation_top": [HomePage()] + list(Page.filter(in_navigation=True)),
            "tags": Tag.objects.all().order_by("-name"),
            "latestcomments": get_latest_comments(),
            "popular_pages": Page.filter(popular=True),
            "WIDGETS": widgets.get_widgets(),
            "JS_FILES": static_files["js"],
            "CSS_FILES": static_files["css"],
            "limited": _internal.software_info(),
        }
    )

    if not "COPYRIGHT_YEARS" in dic:
        from datetime import datetime

        dic["COPYRIGHT_YEARS"] = [datetime.now().year]
    assert 0 < len(dic["COPYRIGHT_YEARS"]) < 3
    # two years at maximum

    return dic
예제 #3
0
def get_popular_pages(isblog=False):
    """
        Get Page items marked as popular
        @param isblog: `True` if only blog entries should be returned
        @returns: a list of NavLink instances containing the links
    """
    return Page.filter(popular=True).order_by("-creation_time")
예제 #4
0
def doc_root():
    pickups = Page().query(Page.page_type == 'article')
    pickups = pickups.filter(Page.is_pickup == True)
    pickups = pickups.filter(Page.published_at != None)
    pickups = pickups.filter(Page.published_at < datetime.now())
    pickups = pickups.order(-Page.published_at)

    pages = Page().query(Page.page_type == 'article')
    pages = pages.filter(Page.is_pickup == False)
    pages = pages.filter(Page.published_at != None)
    pages = pages.filter(Page.published_at < datetime.now())
    pages = pages.order(-Page.published_at)
    T = {'pages': pages, 'pickups': pickups}
    return render_template('pages_top.html', T=T)