Merge branch 'master' into ofop
[redakcja.git] / apps / filebrowser / templatetags / fb_tags.py
diff --git a/apps/filebrowser/templatetags/fb_tags.py b/apps/filebrowser/templatetags/fb_tags.py
deleted file mode 100644 (file)
index 5bc9b40..0000000
+++ /dev/null
@@ -1,136 +0,0 @@
-# coding: utf-8
-
-from django import template
-from django.utils.encoding import smart_unicode
-from django.utils.safestring import mark_safe
-
-from filebrowser.fb_settings import SELECT_FORMATS
-
-register = template.Library()
-
-
-@register.inclusion_tag('filebrowser/include/_response.html', takes_context=True)
-def query_string(context, add=None, remove=None):
-    """
-    Allows the addition and removal of query string parameters.
-
-    _response.html is just {{ response }}
-
-    Usage:
-    http://www.url.com/{% query_string "param_to_add=value, param_to_add=value" "param_to_remove, params_to_remove" %}
-    http://www.url.com/{% query_string "" "filter" %}filter={{new_filter}}
-    http://www.url.com/{% query_string "sort=value" "sort" %}
-    """
-    # Written as an inclusion tag to simplify getting the context.
-    add = string_to_dict(add)
-    remove = string_to_list(remove)
-    params = context['query'].copy()
-    response = get_query_string(params, add, remove)
-    return {'response': smart_unicode(response)}
-
-
-def query_helper(query, add=None, remove=None):
-    """
-    Helper Function for use within views.
-    """
-    add = string_to_dict(add)
-    remove = string_to_list(remove)
-    params = query.copy()
-    return get_query_string(params, add, remove)
-
-
-def get_query_string(p, new_params=None, remove=None):
-    """
-    Add and remove query parameters. From `django.contrib.admin`.
-    """
-    if new_params is None:
-        new_params = {}
-
-    if remove is None:
-        remove = []
-
-    for r in remove:
-        for k in p.keys():
-            if k.startswith(r):
-                del p[k]
-    for k, v in new_params.items():
-        if k in p and v is None:
-            del p[k]
-        elif v is not None:
-            p[k] = v
-    return mark_safe('?' + '&'.join([u'%s=%s' % (k, v) for k, v in p.items()]).replace(' ', '%20'))
-
-
-def string_to_dict(string):
-    """
-    Usage::
-
-        {{ url|thumbnail:"width=10,height=20" }}
-        {{ url|thumbnail:"width=10" }}
-        {{ url|thumbnail:"height=20" }}
-    """
-    kwargs = {}
-
-    if string:
-        string = str(string)
-
-        args = (arg.strip() for arg in string.split(',') if not arg.isspace())
-        kwargs.update(arg.split('=', 1) for arg in args)
-
-    return kwargs
-
-
-def string_to_list(string):
-    """
-    Usage::
-
-        {{ url|thumbnail:"width,height" }}
-    """
-    args = []
-    if string:
-        string = str(string)
-        if ',' not in string:
-            # ensure at least one ','
-            string += ','
-        for arg in string.split(','):
-            arg = arg.strip()
-            if arg == '':
-                continue
-            args.append(arg)
-    return args
-
-
-class SelectableNode(template.Node):
-    def __init__(self, filetype, format):
-        self.filetype = template.Variable(filetype)
-        self.format = template.Variable(format)
-
-    def render(self, context):
-        try:
-            filetype = self.filetype.resolve(context)
-        except template.VariableDoesNotExist:
-            filetype = ''
-        try:
-            format = self.format.resolve(context)
-        except template.VariableDoesNotExist:
-            format = ''
-        if filetype and format and filetype in SELECT_FORMATS[format]:
-            selectable = True
-        elif filetype and format and filetype not in SELECT_FORMATS[format]:
-            selectable = False
-        else:
-            selectable = True
-        context['selectable'] = selectable
-        return ''
-
-
-def selectable(parser, token):
-
-    try:
-        tag, filetype, format = token.split_contents()
-    except:
-        raise TemplateSyntaxError("%s tag requires 2 arguments" % token.contents.split()[0])
-
-    return SelectableNode(filetype, format)
-
-register.tag(selectable)