Exemplo n.º 1
0
Arquivo: views.py Projeto: ryuic/newsy
def get_entries(name, categories=None, category=None, limit=10, expire=86400):
    markup = '%s_entries' % name
    entries = cache.get(markup)

    if not entries:
        try:
            entry_obj = Entry.all().order('-created_at')
            if categories:
                cat = get_cat_key(name, categories)
                entries = entry_obj.filter('cat_ref =', cat)
            elif category:
                entries = entry_obj.filter('cat_ref =', category)
            entries = entry_obj.fetch(limit)
            cache.set(markup, entries, expire)
        except:
            return []

    return entries
Exemplo n.º 2
0
Arquivo: views.py Projeto: ryuic/newsy
def list(request, cat=None, blog=None, label=None):
    entry_obj = Entry.all().order('-created_at')

    if cat:
        cat_obj = CategoryCount.all().filter('category =', cat).get()
        if not cat_obj: raise Http404
        entry_obj.filter('cat_ref =', cat_obj)
        label = cat_obj.category
    elif blog:
        feed_obj = get_object_or_404(Feed, blog)
        entry_obj.filter('feed_ref =', feed_obj)
        label = feed_obj.name

    template_ext = 'xml' if request.GET.has_key('output') and request.GET.get('output') == 'rss' else 'html'

    return object_list(request, entry_obj, paginate_by=25,
                       extra_context={'label' : label, 'cat' : cat, 'blog' : blog},
                       template_name='archive/entry_list.%s' % template_ext)
Exemplo n.º 3
0
Arquivo: views.py Projeto: ryuic/newsy
def show(request, key):
    return object_detail(request, Entry.all(), key, template_name='archive/entry_detail.html')