{% if is_async %}import asyncio
{% endif %}
{% for import in imports %}{{ import }}
{% endfor %}
{% if is_async %}async def main() -> None:
{% else %}def main() -> None:
{% endif %}
{% if expects_error %} try:
{% for line in body %} {{ line }}
{% endfor %}{% if typed_error_type %} except {{ typed_error_type }} as error:
print(f"{{ typed_error_type }}: {error}")
{% endif %} except {{ error_type }} as error:
print(f"{type(error).__name__}: {error}")
{% else %}{% for line in body %} {{ line }}
{% endfor %}
{% for operation in presentation %}
{% if operation.kind == "show" %} print({{ operation.expression }})
{% else %} for {{ operation.item }} in {{ operation.expression }}{% if operation.optional %} or []{% endif %}:
{% for field in operation.fields %} print({{ field }})
{% endfor %}{% endif %}
{% endfor %}
{% if not presentation and not returns_void %} print({{ result_var }})
{% endif %}
{% endif %}
{% if is_async %}asyncio.run(main())
{% else %}main()
{% endif %}