import yaml import argparse from gh import gh dependencies_path = os.path.join(gh.root, "dependencies") metadata_path = os.path.join(dependencies_path, "tool_metadata.yml") sys.path.append(dependencies_path) from tool import Tool parser = argparse.ArgumentParser() parser.add_argument("tools", nargs="+") args = parser.parse_args() tools = Tool.from_metadata_yaml(open(metadata_path).read()) # Handle Multiline Strings Properly / https://stackoverflow.com/a/33300001 def represent_str(dumper: yaml.Dumper, data: str): if "\n" in data: return dumper.represent_scalar('tag:yaml.org,2002:str', data, style='|') return dumper.represent_scalar('tag:yaml.org,2002:str', data) yaml.add_representer(str, represent_str) dump_options = {'sort_keys': False} changes = False