#!/usr/bin/env python3

import argparse
import json
import os

import toml
import yaml

parser = argparse.ArgumentParser()
parser.add_argument("path", help="directory containing .toml files to convert")
args = parser.parse_args()

for root, dirs, files in os.walk(args.path):
    for f in files:
        if f.endswith(".toml"):
            data = toml.load(os.path.join(root, f))
            # Convert to a real dict instead of weird toml object that pyyaml can't handle
            data = json.loads(json.dumps(data))
            with open(os.path.join(root, f"{os.path.splitext(f)[0]}.yml"), "w") as fd:
                print(f"Writing {os.path.realpath(fd.name)}")
                fd.write(yaml.safe_dump(data, sort_keys=False))