Ñò
6ìIc @ sU d Z d g Z d e f d „ ƒ YZ d e f d „ ƒ YZ d e f d „ ƒ YZ d S( s
Helper for looping over sequences, particular in templates.
Often in a loop in a template it's handy to know what's next up,
previously up, if this is the first or last item in the sequence, etc.
These can be awkward to manage in a normal Python loop, but using the
looper you can get a better sense of the context. Use like::
>>> for loop, item in looper(['a', 'b', 'c']):
... print loop.number, item
... if not loop.last:
... print '---'
1 a
---
2 b
---
3 c
t looperc B s) e Z d Z d „ Z d „ Z d „ Z RS( s¬
Helper for looping (particularly in templates)
Use this like::
for loop, item in looper(seq):
if loop.first:
...
c C s
| | _ d S( N( t seq( t selfR ( ( s3 /usr/lib/python2.6/site-packages/tempita/_looper.pyt __init__" s c C s
t | i ƒ S( N( t looper_iterR ( R ( ( s3 /usr/lib/python2.6/site-packages/tempita/_looper.pyt __iter__% s c C s d | i i | i f S( Ns <%s for %r>( t __class__t __name__R ( R ( ( s3 /usr/lib/python2.6/site-packages/tempita/_looper.pyt __repr__( s ( R t
__module__t __doc__R R R ( ( ( s3 /usr/lib/python2.6/site-packages/tempita/_looper.pyR s R c B s# e Z d „ Z d „ Z d „ Z RS( c C s t | ƒ | _ d | _ d S( Ni ( t listR t pos( R R ( ( s3 /usr/lib/python2.6/site-packages/tempita/_looper.pyR . s c C s | S( N( ( R ( ( s3 /usr/lib/python2.6/site-packages/tempita/_looper.pyR 2 s c C s[ | i t | i ƒ j o
t ‚ n t | i | i ƒ | i | i f } | i d 7_ | S( Ni ( R t lenR t
StopIterationt loop_pos( R t result( ( s3 /usr/lib/python2.6/site-packages/tempita/_looper.pyt next5 s
%( R R R R R ( ( ( s3 /usr/lib/python2.6/site-packages/tempita/_looper.pyR , s R c B s
e Z d „ Z d „ Z d „ Z e e ƒ Z d „ Z e e ƒ Z d „ Z e e ƒ Z d „ Z e e ƒ Z d „ Z e e ƒ Z d „ Z
e e
ƒ Z
d „ Z e e ƒ Z d „ Z e e ƒ Z d
„ Z
e e
ƒ Z
d „ Z e e ƒ Z d d „ Z d d
„ Z d „ Z RS( c C s | | _ | | _ d S( N( R R ( R R R ( ( s3 /usr/lib/python2.6/site-packages/tempita/_looper.pyR > s c C s d | i t t f S( Ns