33 lines
1.2 KiB
Python
Raw Normal View History

2025-01-17 18:27:46 +03:00
# 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)