create_identifiers.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #!/usr/bin/env python
  2. import sys, os
  3. if len(sys.argv) != 2:
  4. sys.exit(-1)
  5. name = sys.argv[1] + "/CMake.qhp"
  6. f = open(name)
  7. if not f:
  8. sys.exit(-1)
  9. lines = f.read().splitlines()
  10. if not lines:
  11. sys.exit(-1)
  12. newlines = []
  13. for line in lines:
  14. mapping = (("command", "command"),
  15. ("envvar", "envvar"),
  16. ("variable", "variable"),
  17. ("generator", "generator"),
  18. ("target property", "prop_tgt"),
  19. ("test property", "prop_test"),
  20. ("source file property", "prop_sf"),
  21. ("global property", "prop_gbl"),
  22. ("module", "module"),
  23. ("directory property", "prop_dir"),
  24. ("cache property", "prop_cache"),
  25. ("policy", "policy"),
  26. ("installed file property", "prop_inst"))
  27. for domain_object_string, domain_object_type in mapping:
  28. if "<keyword name=\"" + domain_object_string + "\"" in line:
  29. if not "id=\"" in line and not "#index-" in line:
  30. prefix = "<keyword name=\"" + domain_object_string + "\" "
  31. part1, part2 = line.split(prefix)
  32. head, tail = part2.split("#" + domain_object_type + ":")
  33. domain_object, rest = tail.split("\"")
  34. line = part1 + prefix + "id=\"" + domain_object_type + "/" + domain_object + "\" " + part2
  35. newlines.append(line + "\n")
  36. f = open(name, "w")
  37. f.writelines(newlines)