in scripts/generate_dag.py [0:0]
def print_airflow_variables(dataset_id: str, dag_contents: str, env: str):
var_regex = r"\{{2}\s*var.json.([a-zA-Z0-9_\.]*)?\s*\}{2}"
print(
f"\nThe following Airflow variables must be set in"
f"\n\n .{env}/datasets/{dataset_id}/pipelines/{dataset_id}_variables.json"
"\n\nusing JSON dot notation:"
"\n"
)
for var in sorted(
list(set(re.findall(var_regex, dag_contents))), key=lambda v: v.count(".")
):
if var.startswith("json."):
var = var.replace("json.", "", 1)
elif var.startswith("value."):
var = var.replace("value.", "", 1)
print(f" - {var}")
print()