cmake/Utilities/Sphinx/create_identifiers.py

52 lines
1.5 KiB
Python
Raw Normal View History

2015-04-27 22:25:09 +02:00
#!/usr/bin/env python
2020-08-30 11:54:41 +02:00
import sys
2015-04-27 22:25:09 +02:00
if len(sys.argv) != 2:
sys.exit(-1)
name = sys.argv[1] + "/CMake.qhp"
2023-07-02 19:51:09 +02:00
f = open(name, "r", encoding="utf-8")
2015-04-27 22:25:09 +02:00
if not f:
sys.exit(-1)
2023-07-02 19:51:09 +02:00
lines = f.read().splitlines()
2015-04-27 22:25:09 +02:00
if not lines:
sys.exit(-1)
newlines = []
for line in lines:
mapping = (("command", "command"),
2018-10-28 12:09:07 +01:00
("cpack generator", "cpack_gen"),
2018-08-09 18:06:22 +02:00
("envvar", "envvar"),
2015-04-27 22:25:09 +02:00
("variable", "variable"),
2018-08-09 18:06:22 +02:00
("generator", "generator"),
2021-09-14 00:13:48 +02:00
("genex", "genex"),
2020-08-30 11:54:41 +02:00
("guide", "guide"),
2015-04-27 22:25:09 +02:00
("target property", "prop_tgt"),
("test property", "prop_test"),
("source file property", "prop_sf"),
("global property", "prop_gbl"),
("module", "module"),
("directory property", "prop_dir"),
("cache property", "prop_cache"),
("policy", "policy"),
("installed file property", "prop_inst"))
for domain_object_string, domain_object_type in mapping:
if "<keyword name=\"" + domain_object_string + "\"" in line:
2020-08-30 11:54:41 +02:00
if "id=\"" not in line and "#index-" not in line:
2015-04-27 22:25:09 +02:00
prefix = "<keyword name=\"" + domain_object_string + "\" "
part1, part2 = line.split(prefix)
head, tail = part2.split("#" + domain_object_type + ":")
domain_object, rest = tail.split("\"")
line = part1 + prefix + "id=\"" + domain_object_type + "/" + domain_object + "\" " + part2
newlines.append(line + "\n")
2023-07-02 19:51:09 +02:00
f = open(name, "w", encoding="utf-8")
f.writelines(newlines)