- if item:
- outfirst(outfile, item, attrs, value)
- process_file_layer(source, outfile, globals, nexthiera)
- if item:
- outlast(outfile, item, attrs, value)
+ if items:
+ # search for "first"
+ for item in items:
+ if "position" in item["attrs"]:
+ if item["attrs"]["position"] == "first":
+ print (item["value"], end="", file=outfile)
+ # proceed working
+ for item in items:
+ if not "position" in item["attrs"]:
+ if "exec" in item["attrs"]:
+ # call function
+ l = {"out" : None, "source":source}
+ exec(functions[item["attrs"]["exec"]], globals(), l)
+ #exec('out = "Das kommt von foo()"', globals(), l)
+ print (l["out"], file=outfile)
+ # check "pre"
+ if "pre" in item["attrs"]:
+ print (item["attrs"]["pre"], end="", file=outfile)
+ # proceed working
+ nexthiera = item["items"]
+ if value:
+ print (value, end="", file=outfile)
+ process_file_layer(source, outfile, global_defs, nexthiera, functions, target)
+ # check "post"
+ if "post" in item["attrs"]:
+ print (item["attrs"]["post"], end="", file=outfile)
+ # search for "last"
+ for item in items:
+ if "position" in item["attrs"]:
+ if item["attrs"]["position"] == "last":
+ print (item["value"], end="", file=outfile)
+