create_identifiers.py 1.3 KB

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