1#!/usr/bin/python3 2# 3# Copyright 2020 Petr Kraus 4# 5# SPDX-License-Identifier: Apache-2.0 6 7# Removes periods after Valid Usage sentence in the spec 8# 9# Usage: 10# cd <root of Vulkan-Docs repo> 11# ./scripts/deperiodize_vuids.py 12 13import os,re 14 15def deperiodizeFile(filename): 16 print(' Deperiodizing = %s' % filename) 17 18 with open(filename, 'r', encoding='utf8', newline='\n') as f: 19 data = f.read() 20 21 # Remove periods from VUs 22 data = re.sub( r'( \* \[\[VUID\-[\s\S]+?)\.?(?=(\n \* \[\[VUID\-)|(\n\*\*\*\*)|(\n// )|(\ninclude::)|(\nendif::)|(\nifdef::)|(\nifndef::))', r'\g<1>', data ) 23 24 with open(filename, 'w', encoding='utf8', newline='\n') as f: 25 data = f.write(data) 26 27def deperiodizeFolder(folder): 28 print(' Parsing = %s' % folder) 29 for root, subdirs, files in os.walk(folder): 30 for file in files: 31 if file.endswith(".adoc"): 32 file_path = os.path.join(root, file) 33 deperiodizeFile(file_path) 34 for subdir in subdirs: 35 sub_folder = os.path.join(root, subdir) 36 deperiodizeFolder(sub_folder) 37 38if __name__ == '__main__': 39 deperiodizeFolder(os.getcwd() + '/chapters') 40 deperiodizeFolder(os.getcwd() + '/appendices') 41