Mercurial > genshi > genshi-test
comparison genshi/util.py @ 581:e9e1239960f5 stable-0.4.x
Ported [693:694] to 0.4.x branch.
author | cmlenz |
---|---|
date | Tue, 31 Jul 2007 21:54:58 +0000 |
parents | 6d01e91f2a49 |
children | e5363d3c22d3 b090bf737111 |
comparison
equal
deleted
inserted
replaced
573:7fa1192c9da8 | 581:e9e1239960f5 |
---|---|
13 | 13 |
14 """Various utility classes and functions.""" | 14 """Various utility classes and functions.""" |
15 | 15 |
16 import htmlentitydefs | 16 import htmlentitydefs |
17 import re | 17 import re |
18 try: | |
19 set | |
20 except NameError: | |
21 from sets import ImmutableSet as frozenset | |
22 from sets import Set as set | |
18 | 23 |
19 __docformat__ = 'restructuredtext en' | 24 __docformat__ = 'restructuredtext en' |
20 | 25 |
21 | 26 |
22 class LRUCache(dict): | 27 class LRUCache(dict): |
150 >>> flatten([1, (2, [3, 4]), 5]) | 155 >>> flatten([1, (2, [3, 4]), 5]) |
151 [1, 2, 3, 4, 5] | 156 [1, 2, 3, 4, 5] |
152 """ | 157 """ |
153 retval = [] | 158 retval = [] |
154 for item in items: | 159 for item in items: |
155 if isinstance(item, (list, tuple)): | 160 if isinstance(item, (frozenset, list, set, tuple)): |
156 retval += flatten(item) | 161 retval += flatten(item) |
157 else: | 162 else: |
158 retval.append(item) | 163 retval.append(item) |
159 return retval | 164 return retval |
160 | 165 |