meblog / context / context_processors.py

#    Copyright 2010 Hudarsono <http://blog.hudarsono.me>
#
#    This file is part of MeBlog.
#
#    MeBlog is free software: you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation, either version 3 of the License, or
#    (at your option) any later version.
#
#    MeBlog is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with MeBlog.  If not, see <http://www.gnu.org/licenses/>.



# this is a context processor for template
import urllib
from pages.models import Page
from google.appengine.api import memcache
from django.conf import settings

def pages(request):
    if memcache.get('context_pages'):
        context_pages = memcache.get('context_pages')
    else:
        pages = Page.all().filter('publish =', True)

        # get all page titles and url
        context_pages = []

        if pages :
            for page in pages:
                context_pages.append({'name':page.name,
                                      'url':page.get_absolute_url()})
            memcache.set('context_pages', context_pages)
            
    if settings.BLOG_TITLE != '':
        blog_title = settings.BLOG_TITLE

    if settings.DISQUS == 'True':
        disqus=True
    else:
        disqus=False

    if settings.ANALYTICS == 'True':
        ga=True
    else:
        ga=False
    
    if settings.FBLIKE == 'True':
        fblike=True
    else:
        fblike=False

    return {'context_pages':context_pages, 'blog_title':blog_title, 'disqus':disqus, 'ga':ga, 'fblike':fblike}
    
def daily_quote(request):
    if memcache.get('today_quote'):
        todayquote = memcache.get('today_quote')
    else:
        f = urllib.urlopen('http://www.iheartquotes.com/api/v1/random?max_lines=1')
        quotelines = f.readlines()
        #remove last line
        trimmedlines = quotelines[:-1]
        todayquote = ''.join(trimmedlines)
        memcache.set('today_quote', todayquote, 86400)
        
    return {'todayquote':todayquote}
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.