#!/usr/bin/env python
"""
This script recursively loads and parses all terraform files in a directory

Usage:
    terraform_test.py [PATH]

Options:
    PATH    The directory to check. Defaults to the TERRAFORM_CONFIG environment variable

"""
import argparse
import os

from hcl2 import load
from hcl2.version import __version__

if __name__ == "__main__":
    parser = argparse.ArgumentParser(
        description="This script recursively converts hcl2 files to json"
    )
    parser.add_argument("PATH", nargs="?", default=None, help="The path to convert")
    parser.add_argument("--version", action="version", version=__version__)

    args = parser.parse_args()

    target_dir = args.PATH if args.PATH else os.environ["TERRAFORM_CONFIG"]
    for curr_dir, dirs, files in os.walk(target_dir):
        for file_name in files:
            if ".terraform" not in curr_dir and (
                file_name.endswith(".tf") or file_name.endswith("tfvars")
            ):
                file_path = os.path.join(curr_dir, file_name)

                with open(file_path, "r") as file:
                    print(file_path)
                    load(file)
