create_identifiers.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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. ("cpack generator", "cpack_gen"),
  16. ("envvar", "envvar"),
  17. ("variable", "variable"),
  18. ("generator", "generator"),
  19. ("target property", "prop_tgt"),
  20. ("test property", "prop_test"),
  21. ("source file property", "prop_sf"),
  22. ("global property", "prop_gbl"),
  23. ("module", "module"),
  24. ("directory property", "prop_dir"),
  25. ("cache property", "prop_cache"),
  26. ("policy", "policy"),
  27. ("installed file property", "prop_inst"))
  28. for domain_object_string, domain_object_type in mapping:
  29. if "<keyword name=\"" + domain_object_string + "\"" in line:
  30. if not "id=\"" in line and not "#index-" in line:
  31. prefix = "<keyword name=\"" + domain_object_string + "\" "
  32. part1, part2 = line.split(prefix)
  33. head, tail = part2.split("#" + domain_object_type + ":")
  34. domain_object, rest = tail.split("\"")
  35. line = part1 + prefix + "id=\"" + domain_object_type + "/" + domain_object + "\" " + part2
  36. newlines.append(line + "\n")
  37. f = open(name, "w")
  38. f.writelines(newlines)