Exemplo n.º 1
0
from django.contrib.contenttypes.models import ContentType
from overviewer.utilities.template import Library
from overviewer.comments.models import EditableComment

register = Library()


@register.setter
def get_comments_for(object):
    return EditableComment.objects.for_model(object)


@register.filter
def comment_depth_exceeded(depth):
    return depth <= 0


def comment_count(object):
    comments = EditableComment.objects.for_model(object)
    return reduce(lambda c, o: c + comment_count(o), comments, comments.count())


register.filter(comment_count)
Exemplo n.º 2
0
from functools import partial, update_wrapper
from django import template
from django.template.defaultfilters import stringfilter
from django.utils.safestring import mark_safe
from overviewer.utilities.functional import curry
from overviewer.utilities.template import Library
from display import script, style, feeds
from memory import do_record, do_recall
import os

register = Library()

# Helpers

def safe(fn):
    fn.is_safe = True
    return fn


def texttag(fn):
    return safe(register.simple_tag(fn))


# Display utilities

texttag(script)
texttag(style)
texttag(feeds)


Exemplo n.º 3
0
from overviewer.utilities.template import Library
from django.core.urlresolvers import reverse, NoReverseMatch

register = Library()


def edit_url(model):
    label, name = model._meta.app_label, model.__class__.__name__.lower()
    try:
        return reverse('admin_%s_%s_change' % (label, name), args=(model.id,))
    except NoReverseMatch:
        return edit_url(model.parent)

register.filter(edit_url)


@register.filter
def add_url(model):
    label, name = model._meta.app_label, model._meta.object_name.lower()
    return reverse('admin_%s_%s_add' % (label, name))


@register.filter
def depth(object):
    return len(object.parents())


@register.filter
def should_open_in(object, current):
    if object == current:
        return True