# SPDX-License-Identifier: MIT import argparse import sys import glob import yaml import os # TODO: This script is a temporary solution to uniformly formatting # the YAML files in the docs/ folder. It does not sit well with yamllint. parser = argparse.ArgumentParser() parser.add_argument("--liboqs-root", default=".") args = parser.parse_args() def load_yaml(filename, encoding='utf-8'): with open(filename, mode='r', encoding=encoding) as fh: return yaml.safe_load(fh.read()) def store_yaml(filename, contents, encoding='utf-8'): with open(filename, mode='w', encoding=encoding) as fh: yaml.dump(contents, fh, sort_keys=False, allow_unicode=True) for kem_yaml_path in glob.glob(os.path.join(args.liboqs_root, 'docs', 'algorithms', 'kem', '*.yml')): print('Formatting {}.'.format(os.path.basename(kem_yaml_path))) kem_yaml = load_yaml(kem_yaml_path) store_yaml(kem_yaml_path, kem_yaml) for sig_yaml_path in glob.glob(os.path.join(args.liboqs_root, 'docs', 'algorithms', 'sig', '*.yml')): print('Formatting {}.'.format(os.path.basename(sig_yaml_path))) sig_yaml = load_yaml(sig_yaml_path) store_yaml(sig_yaml_path, sig_yaml)