Hackfut Security File Manager
Current Path:
/opt/alt/python27/lib/python2.7/site-packages/paste/util
opt
/
alt
/
python27
/
lib
/
python2.7
/
site-packages
/
paste
/
util
/
📁
..
📄
PySourceColor.py
(83.85 KB)
📄
PySourceColor.pyc
(54.31 KB)
📄
PySourceColor.pyo
(54.31 KB)
📄
UserDict24.py
(5.39 KB)
📄
UserDict24.pyc
(10.27 KB)
📄
UserDict24.pyo
(10.27 KB)
📄
__init__.py
(86 B)
📄
__init__.pyc
(257 B)
📄
__init__.pyo
(257 B)
📄
classinit.py
(1.81 KB)
📄
classinit.pyc
(1.89 KB)
📄
classinit.pyo
(1.89 KB)
📄
classinstance.py
(1.34 KB)
📄
classinstance.pyc
(2.27 KB)
📄
classinstance.pyo
(2.11 KB)
📄
converters.py
(863 B)
📄
converters.pyc
(1.15 KB)
📄
converters.pyo
(1.15 KB)
📄
dateinterval.py
(2.36 KB)
📄
dateinterval.pyc
(3.08 KB)
📄
dateinterval.pyo
(3.08 KB)
📄
datetimeutil.py
(10.91 KB)
📄
datetimeutil.pyc
(10.01 KB)
📄
datetimeutil.pyo
(10.01 KB)
📄
doctest24.py
(97.09 KB)
📄
doctest24.pyc
(82.42 KB)
📄
doctest24.pyo
(82.14 KB)
📄
filemixin.py
(1.4 KB)
📄
filemixin.pyc
(2.01 KB)
📄
filemixin.pyo
(2.01 KB)
📄
finddata.py
(3.75 KB)
📄
finddata.pyc
(2.89 KB)
📄
finddata.pyo
(2.89 KB)
📄
findpackage.py
(786 B)
📄
findpackage.pyc
(914 B)
📄
findpackage.pyo
(914 B)
📄
import_string.py
(3.04 KB)
📄
import_string.pyc
(3.27 KB)
📄
import_string.pyo
(3.27 KB)
📄
intset.py
(18.68 KB)
📄
intset.pyc
(19.07 KB)
📄
intset.pyo
(19.07 KB)
📄
ip4.py
(9.05 KB)
📄
ip4.pyc
(9.02 KB)
📄
ip4.pyo
(9.02 KB)
📄
killthread.py
(1.2 KB)
📄
killthread.pyc
(1.4 KB)
📄
killthread.pyo
(1.4 KB)
📁
looper
📄
looper.py.tmpta
(3.88 KB)
📄
mimeparse.py
(6.44 KB)
📄
mimeparse.pyc
(6.99 KB)
📄
mimeparse.pyo
(6.99 KB)
📄
multidict.py
(11.14 KB)
📄
multidict.pyc
(16.33 KB)
📄
multidict.pyo
(16.33 KB)
📄
quoting.py
(2.42 KB)
📄
quoting.pyc
(2.94 KB)
📄
quoting.pyo
(2.94 KB)
📄
scgiserver.py
(5.5 KB)
📄
scgiserver.pyc
(5.98 KB)
📄
scgiserver.pyo
(5.87 KB)
📄
string24.py
(16.35 KB)
📄
string24.pyc
(18.25 KB)
📄
string24.pyo
(18.25 KB)
📁
template
📄
template.py.tmpta
(23.73 KB)
📄
threadedprint.py
(8.02 KB)
📄
threadedprint.pyc
(10.15 KB)
📄
threadedprint.pyo
(8.84 KB)
📄
threadinglocal.py
(1.45 KB)
📄
threadinglocal.pyc
(2.01 KB)
📄
threadinglocal.pyo
(2.01 KB)
Editing: looper.py.tmpta
""" 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 """ __all__ = ['looper'] class looper(object): """ Helper for looping (particularly in templates) Use this like:: for loop, item in looper(seq): if loop.first: ... """ def __init__(self, seq): self.seq = seq def __iter__(self): return looper_iter(self.seq) def __repr__(self): return '<%s for %r>' % ( self.__class__.__name__, self.seq) class looper_iter(object): def __init__(self, seq): self.seq = list(seq) self.pos = 0 def __iter__(self): return self def next(self): if self.pos >= len(self.seq): raise StopIteration result = loop_pos(self.seq, self.pos), self.seq[self.pos] self.pos += 1 return result class loop_pos(object): def __init__(self, seq, pos): self.seq = seq self.pos = pos def __repr__(self): return '<loop pos=%r at %r>' % ( self.seq[pos], pos) def index(self): return self.pos index = property(index) def number(self): return self.pos + 1 number = property(number) def item(self): return self.seq[self.pos] item = property(item) def next(self): try: return self.seq[self.pos+1] except IndexError: return None next = property(next) def previous(self): if self.pos == 0: return None return self.seq[self.pos-1] previous = property(previous) def odd(self): return not self.pos % 2 odd = property(odd) def even(self): return self.pos % 2 even = property(even) def first(self): return self.pos == 0 first = property(first) def last(self): return self.pos == len(self.seq)-1 last = property(last) def length(self): return len(self.seq) length = property(length) def first_group(self, getter=None): """ Returns true if this item is the start of a new group, where groups mean that some attribute has changed. The getter can be None (the item itself changes), an attribute name like ``'.attr'``, a function, or a dict key or list index. """ if self.first: return True return self._compare_group(self.item, self.previous, getter) def last_group(self, getter=None): """ Returns true if this item is the end of a new group, where groups mean that some attribute has changed. The getter can be None (the item itself changes), an attribute name like ``'.attr'``, a function, or a dict key or list index. """ if self.last: return True return self._compare_group(self.item, self.next, getter) def _compare_group(self, item, other, getter): if getter is None: return item != other elif (isinstance(getter, basestring) and getter.startswith('.')): getter = getter[1:] if getter.endswith('()'): getter = getter[:-2] return getattr(item, getter)() != getattr(other, getter)() else: return getattr(item, getter) != getattr(other, getter) elif callable(getter): return getter(item) != getter(other) else: return item[getter] != other[getter]
Upload File
Create Folder