40 lines
976 B
Python
40 lines
976 B
Python
# ex: python3 sort_yaml_functions.py
|
|
# ex: must be within yaml directory
|
|
import yaml
|
|
import os
|
|
|
|
|
|
def sort_yaml_functions(yaml_file):
|
|
with open(yaml_file, "r") as f:
|
|
yaml_data = yaml.safe_load(f)
|
|
|
|
if "functions" in yaml_data:
|
|
yaml_data["functions"].sort(key=lambda x: x["name"])
|
|
|
|
class IndentYamlListDumper(yaml.Dumper):
|
|
def increase_indent(self, flow=False, indentless=False):
|
|
return super(IndentYamlListDumper, self).increase_indent(flow, False)
|
|
|
|
with open(yaml_file, "w") as f:
|
|
yaml.dump(
|
|
yaml_data,
|
|
f,
|
|
Dumper=IndentYamlListDumper,
|
|
default_flow_style=False,
|
|
sort_keys=False,
|
|
)
|
|
|
|
|
|
def main():
|
|
current_directory = os.getcwd()
|
|
yaml_files = [
|
|
file for file in os.listdir(current_directory) if file.endswith(".yaml")
|
|
]
|
|
|
|
for yaml_file in yaml_files:
|
|
sort_yaml_functions(yaml_file)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
main()
|