X-Git-Url: http://git.ithinksw.org/philo.git/blobdiff_plain/fb8a270fa22abc217efc471d860c76d5a2352c61..ee92df2cd0e3d6d93a13d6e74391ee495f9471c9:/philo/contrib/shipherd/templatetags/shipherd.py diff --git a/philo/contrib/shipherd/templatetags/shipherd.py b/philo/contrib/shipherd/templatetags/shipherd.py index 4723246..85a0bc5 100644 --- a/philo/contrib/shipherd/templatetags/shipherd.py +++ b/philo/contrib/shipherd/templatetags/shipherd.py @@ -101,12 +101,13 @@ class RecurseNavigationNode(template.Node): @register.tag def recursenavigation(parser, token): """ - The recursenavigation templatetag takes two arguments: - - the node for which the navigation should be found - - the navigation's key. + The :ttag:`recursenavigation` templatetag takes two arguments: - It will then recursively loop over each item in the navigation and render the template - chunk within the block. recursenavigation sets the following variables in the context: + * the :class:`.Node` for which the :class:`.Navigation` should be found + * the :class:`.Navigation`'s :attr:`~.Navigation.key`. + + It will then recursively loop over each :class:`.NavigationItem` in the :class:`.Navigation` and render the template + chunk within the block. :ttag:`recursenavigation` sets the following variables in the context: ============================== ================================================ Variable Description @@ -118,25 +119,26 @@ def recursenavigation(parser, token): ``navloop.first`` True if this is the first time through the current level ``navloop.last`` True if this is the last time through the current level ``navloop.parentloop`` This is the loop one level "above" the current one - ============================== ================================================ - ``item`` The current item in the loop (a NavigationItem instance) + + ``item`` The current item in the loop (a :class:`.NavigationItem` instance) ``children`` If accessed, performs the next level of recursion. ``navloop.active`` True if the item is active for this request ``navloop.active_descendants`` True if the item has active descendants for this request ============================== ================================================ - Example: + Example:: + """ bits = token.contents.split() @@ -153,6 +155,7 @@ def recursenavigation(parser, token): @register.filter def has_navigation(node, key=None): + """Returns ``True`` if the node has a :class:`.Navigation` with the given key and ``False`` otherwise. If ``key`` is ``None``, returns whether the node has any :class:`.Navigation`\ s at all.""" try: nav = node.navigation if key is not None: @@ -167,6 +170,7 @@ def has_navigation(node, key=None): @register.filter def navigation_host(node, key): + """Returns the :class:`.Node` which hosts the :class:`.Navigation` which ``node`` has inherited for ``key``. Returns ``node`` if any exceptions are encountered.""" try: return Navigation.objects.filter(node__in=node.get_ancestors(include_self=True), key=key).order_by('-node__level')[0].node except: