Comments
Patch
@@ -61,23 +61,30 @@
return
if name not in templ:
if isinstance(values[0], str):
yield ' '.join(values)
else:
- for v in values:
- yield dict(v, **args)
+ for i, v in enumerate(values):
+ # should this use template function 'join'? if so then I don't
+ # know how to pass context and mapping yet. So, just append a
+ # ' ' for now.
+ data, label = delabelify(v)
+ if isinstance(data, str) and i < len(values) - 1:
+ data += ' '
+ yield dict(labelify(data, label), **args)
return
startname = 'start_' + names
if startname in templ:
yield templ(startname, **args)
vargs = args.copy()
def one(v, tag=name):
+ val, label = delabelify(v)
try:
- vargs.update(v)
+ vargs.update(val)
except (AttributeError, ValueError):
try:
- for a, b in v:
+ for a, b in val:
vargs[a] = b
except ValueError:
vargs[name] = v
return templ(tag, **vargs)
lastname = 'last_' + name