aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken6/doc/scripts/patch_qhp.py
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2022-09-13 09:08:21 +0200
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2022-09-13 18:06:27 +0200
commit3b31a65a76de7f29f32c27201b35f5f3c17d14e5 (patch)
tree6be074fcec9e13c1159e10222e316005ba7ec5d9 /sources/shiboken6/doc/scripts/patch_qhp.py
parent5e7fa8991b79bccab8e760a6597a45f25bc197b3 (diff)
Documentation/patch_qhp.py: Brush up script
- Fix flake8 warnings - Warn about errors - Move line processing into a function for further extension - Make file a positional argument Pick-to: 6.3 Change-Id: Ice191b8b78ff3a151581066ae0fc493ecb54fb64 Reviewed-by: Cristian Maureira-Fredes <cristian.maureira-fredes@qt.io>
Diffstat (limited to 'sources/shiboken6/doc/scripts/patch_qhp.py')
-rw-r--r--sources/shiboken6/doc/scripts/patch_qhp.py65
1 files changed, 39 insertions, 26 deletions
diff --git a/sources/shiboken6/doc/scripts/patch_qhp.py b/sources/shiboken6/doc/scripts/patch_qhp.py
index c0786d9ab..1f86162a9 100644
--- a/sources/shiboken6/doc/scripts/patch_qhp.py
+++ b/sources/shiboken6/doc/scripts/patch_qhp.py
@@ -3,31 +3,44 @@
import fileinput
import re
+import sys
from argparse import ArgumentParser, RawTextHelpFormatter
-options = ArgumentParser(description='Qhp file updater',
- formatter_class=RawTextHelpFormatter)
-options.add_argument('-f',
- '--filename',
- type=str,
- help='Qhp filename with the relative path.',
- required=True)
-options.add_argument('-v',
- '--vfolder',
- type=str,
- help='String to be injected into the Qhp file.')
-args=options.parse_args()
-
-try:
- for line in fileinput.input(args.filename,inplace=True,backup='.bak'):
- line_copy=line.strip()
- if not line_copy: # check for empty line
- continue
- match=re.match('(^.*virtualFolder.)doc(.*$)',line)
- if match:
- repl=''.join([match.group(1), args.vfolder, match.group(2)])
- print(line.replace(match.group(0),repl),end=' ')
- else:
- print(line.rstrip())
-except:
- pass
+
+DESC="""Qhp file updater
+
+Replaces virtual folder ids in .qhp files preparing for
+registering the documentation in Qt Assistant."""
+
+
+VIRTUAL_FOLDER_PATTERN = re.compile("(^.*virtualFolder.)doc(.*$)")
+
+
+virtual_folder = ""
+
+
+def process_line(line):
+ global virtual_folder
+ match = VIRTUAL_FOLDER_PATTERN.match(line)
+ if match:
+ print(f"{match.group(1)}{virtual_folder}{match.group(2)}")
+ return
+ sys.stdout.write(line)
+
+
+if __name__ == '__main__':
+ arg_parser = ArgumentParser(description=DESC,
+ formatter_class=RawTextHelpFormatter)
+ arg_parser.add_argument('-v', '--vfolder', type=str,
+ help='String to be injected into the Qhp file.')
+ arg_parser.add_argument("file", type=str, help='Qhp filename.')
+ options = arg_parser.parse_args()
+ virtual_folder = options.vfolder
+
+ try:
+ with fileinput.input(options.file, inplace=True,
+ backup=".bak") as fh:
+ for line in fh:
+ process_line(line)
+ except Exception as e:
+ print(f"WARNING: patch_qhp.py failed: {e}", file=sys.stderr)