diff options
Diffstat (limited to 'django-nova/src/django_nova/templatetags/sidebar_tags.py')
-rw-r--r-- | django-nova/src/django_nova/templatetags/sidebar_tags.py | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/django-nova/src/django_nova/templatetags/sidebar_tags.py b/django-nova/src/django_nova/templatetags/sidebar_tags.py new file mode 100644 index 00000000..e2175725 --- /dev/null +++ b/django-nova/src/django_nova/templatetags/sidebar_tags.py @@ -0,0 +1,46 @@ +# vim: tabstop=4 shiftwidth=4 softtabstop=4 + +# Copyright 2010 United States Government as represented by the +# Administrator of the National Aeronautics and Space Administration. +# All Rights Reserved. +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +""" +Template tags for rendering the sidebar. +""" + +from django import template + + +register = template.Library() + + +class SidebarSelectNode(template.Node): + def __init__(self, selected): + self.selected = selected + + def render(self, context): + # Store page type in template context. + context['sidebar_selected'] = self.selected + return '' + + +@register.tag +def sidebar_select(parser, token): + try: + tag_name, selected = token.split_contents() + except ValueError: + raise template.TemplateSyntaxError, "%r tag requires exactly one argument" % token.contents.split()[0] + return SidebarSelectNode(str(selected)) + |