diff options
Diffstat (limited to 'codegen/vulkan/scripts/deperiodize_vuids.py')
-rwxr-xr-x | codegen/vulkan/scripts/deperiodize_vuids.py | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/codegen/vulkan/scripts/deperiodize_vuids.py b/codegen/vulkan/scripts/deperiodize_vuids.py new file mode 100755 index 00000000..c02a1581 --- /dev/null +++ b/codegen/vulkan/scripts/deperiodize_vuids.py @@ -0,0 +1,40 @@ +#!/usr/bin/python3 +# +# Copyright 2020 Petr Kraus +# +# SPDX-License-Identifier: Apache-2.0 + +# Removes periods after Valid Usage sentence in the spec +# +# Usage: +# cd <root of Vulkan-Docs repo> +# ./scripts/deperiodize_vuids.py + +import os,re + +def deperiodizeFile(filename): + print(' Deperiodizing = %s' % filename) + + with open(filename, 'r', encoding='utf8', newline='\n') as f: + data = f.read() + + # Remove periods from VUs + data = re.sub( r'( \* \[\[VUID\-[\s\S]+?)\.?(?=(\n \* \[\[VUID\-)|(\n\*\*\*\*)|(\n// )|(\ninclude::)|(\nendif::)|(\nifdef::)|(\nifndef::))', r'\g<1>', data ) + + with open(filename, 'w', encoding='utf8', newline='\n') as f: + data = f.write(data) + +def deperiodizeFolder(folder): + print(' Parsing = %s' % folder) + for root, subdirs, files in os.walk(folder): + for file in files: + if file.endswith(".txt"): + file_path = os.path.join(root, file) + deperiodizeFile(file_path) + for subdir in subdirs: + sub_folder = os.path.join(root, subdir) + deperiodizeFolder(sub_folder) + +if __name__ == '__main__': + deperiodizeFolder(os.getcwd() + '/chapters') + deperiodizeFolder(os.getcwd() + '/appendices') |