ピンボケとはこのことで、を地でゆく、の巻。
自分で書いた以下:
1 def render_node(ss, node):
2 if "childs" in node:
3 for child in node["childs"]:
4 if "childs" in child:
5 sss = []
6 sss = render_node(sss, node)
7 if sss:
8 ss = sss + ss
9 r = _get_template().render(node=node)
10 if r:
11 ss.append(r)
12 return ss
やだなぁと、当然思うだけの、言葉の意味はよくわからんがとにかく凄い不安だ、なコード。で、それはまぁ、誰しもが思うものだと思うのね、こんくらい「なんかダサそう」なのがわかりやすいと。
で、これを「ちょっとは整理すっか」と思った方向性がアホだった。「リストの先頭に extend したいんだよなぁ」と。アレコレ本気で探してしまった。
いやいや…それ以前の問題でしょ:
1 def render_node(ss, node):
2 if "childs" in node:
3 for child in node["childs"]:
4 if "childs" in child:
5 ss = render_node([], node) + ss
6 r = _get_template().render(node=node)
7 if r:
8 ss.append(r)
9 return ss
何してんだかもう…。
「リストの先頭に extend」は確かに出来ないんですけどね、でもまぁ、なくてもいいってことが証明された、ようなもんで。