#!/usr/bin/python import os import sys import json import yaml def die(msg, *args): sys.stderr.write(msg + '\n', *args) sys.exit(99) def load_dir(dir_name): if not os.path.isdir(dir_name): die("{0} is not a directory", dir_name) else: return dict((path, load_elem(os.path.join(dir_name, path))) for path in os.listdir(dir_name) if path[0] != '.') def load_elem(path): if os.path.isdir(path): return load_dir(path) else: with open(path) as f: content = f.read() try: return json.loads(content) except ValueError: return content.strip() if __name__ == '__main__': if sys.argv[1:]: dir_name = sys.argv[1] else: dir_name = os.getcwd() yaml.dump(load_dir(dir_name), sys.stdout)