first prototype

This commit is contained in:
2021-09-15 15:29:10 +02:00
parent e90f013e54
commit e8c4630ffa
8 changed files with 283 additions and 0 deletions

33
zoetrope/utils.py Normal file
View File

@ -0,0 +1,33 @@
def unseq(seq):
return seq[0] if len(seq) == 1 else seq
#def flatten(obj):
# try:
# iter(obj)
# except TypeError:
# return [obj]
# else:
# res = []
# for i in obj:
# res.extend(flatten(i))
# return res
def flatten(obj):
return list(iflatten(obj))
def iflatten(obj):
try:
iterator = iter(obj)
except TypeError:
yield obj
else:
for item in iterator:
yield from iflatten(item)