From: Joseph Spiros Date: Fri, 20 May 2011 02:48:27 +0000 (-0400) Subject: Merge branch 'master' of git://github.com/melinath/philo X-Git-Tag: philo-0.9~13 X-Git-Url: http://git.ithinksw.org/philo.git/commitdiff_plain/2b607d5a5e948a3399f110bd04583d2213db24ce?hp=b3fd01202e71b1a43ab372b8f19e9ff6f13dae7b Merge branch 'master' of git://github.com/melinath/philo * 'master' of git://github.com/melinath/philo: Minor tweaks to the sobol results templates. Removed outdated RecurseNavigationMarker code and added filtered interpretation of the recursenavigation's key argument. Currently falls back to old behavior, but new code should use quoted strings for literals. --- diff --git a/contrib/shipherd/templatetags/shipherd.py b/contrib/shipherd/templatetags/shipherd.py index 6e36126..b05ff0f 100644 --- a/contrib/shipherd/templatetags/shipherd.py +++ b/contrib/shipherd/templatetags/shipherd.py @@ -72,10 +72,10 @@ class LazyNavigationRecurser(object): class RecurseNavigationNode(template.Node): - def __init__(self, template_nodes, instance_var, key): + def __init__(self, template_nodes, instance_var, key_var): self.template_nodes = template_nodes self.instance_var = instance_var - self.key = key + self.key_var = key_var def render(self, context): try: @@ -84,9 +84,18 @@ class RecurseNavigationNode(template.Node): return '' instance = self.instance_var.resolve(context) + key = self.key_var.resolve(context) + + # Fall back on old behavior if the key doesn't seem to be a variable. + if not key: + token = self.key_var.token + if token[0] not in ["'", '"'] and '.' not in token: + key = token + else: + return settings.TEMPLATE_STRING_IF_INVALID try: - items = instance.navigation[self.key] + items = instance.navigation[key] except: return settings.TEMPLATE_STRING_IF_INVALID @@ -139,17 +148,11 @@ def recursenavigation(parser, token): raise template.TemplateSyntaxError(_('%s tag requires two arguments: a node and a navigation section name') % bits[0]) instance_var = parser.compile_filter(bits[1]) - key = bits[2] - - template_nodes = parser.parse(('recurse', 'endrecursenavigation',)) - - token = parser.next_token() - if token.contents == 'recurse': - template_nodes.append(RecurseNavigationMarker()) - template_nodes.extend(parser.parse(('endrecursenavigation'))) - parser.delete_first_token() + key_var = parser.compile_filter(bits[2]) - return RecurseNavigationNode(template_nodes, instance_var, key) + template_nodes = parser.parse(('endrecursenavigation',)) + token = parser.delete_first_token() + return RecurseNavigationNode(template_nodes, instance_var, key_var) @register.filter diff --git a/contrib/sobol/templates/admin/sobol/search/grappelli_results.html b/contrib/sobol/templates/admin/sobol/search/grappelli_results.html index 45135ff..f01eb88 100644 --- a/contrib/sobol/templates/admin/sobol/search/grappelli_results.html +++ b/contrib/sobol/templates/admin/sobol/search/grappelli_results.html @@ -28,9 +28,8 @@ {% block content %}
{% for search in queryset %} - {% if not forloop.first and not forloop.last %}

{{ search.string }}

{% endif %}
-

{% blocktrans %}Results{% endblocktrans %}

{% comment %}For the favored results, add a class?{% endcomment %} +

{{ search_string }}

diff --git a/contrib/sobol/templates/admin/sobol/search/results.html b/contrib/sobol/templates/admin/sobol/search/results.html index 44d4e7c..24442c7 100644 --- a/contrib/sobol/templates/admin/sobol/search/results.html +++ b/contrib/sobol/templates/admin/sobol/search/results.html @@ -23,9 +23,8 @@ {% block content %} {% for search in queryset %} - {% if not forloop.first and not forloop.last %}

{{ search.string }}

{% endif %}
-

{% blocktrans %}Results{% endblocktrans %}

{% comment %}For the favored results, add a class?{% endcomment %} +

{{ search.string }}