• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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