BuildModFiles.py 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #!/usr/bin/env python3
  2. import os
  3. import fileinput
  4. import re
  5. import sys
  6. modTag = "mod"
  7. file_path_html = 'glife.html'
  8. file_path_mod = 'mods/mod.html'
  9. data = ''
  10. modData = ''
  11. scripts = ''
  12. dataWithoutModStuff = ''
  13. with open(file_path_html, 'r') as file:
  14. data = file.read()
  15. dataWithoutModStuff = data
  16. i = 0
  17. regex = r"""<tw-passagedata pid="(\d+)" name="([\s\w]+)" tags="(.*?)" (?:position="\d+,\d+" )?(?:size="\d+,\d+")?>(.*?)</tw-passagedata>"""
  18. for match in re.finditer(regex,data,re.S):
  19. tags = match.group(3).split()
  20. if(modTag in tags):
  21. modData += match.group(0)+'\n'
  22. dataWithoutModStuff = dataWithoutModStuff.replace(match.group(0),'')
  23. i += 1
  24. if(i % 100 == 0):
  25. print(i)
  26. regex = r"""/\*\s*Start Mod:\s*"Mod"\s*\*/(.*?)/\*\s*End Mod:\s*"Mod"\s*\*/"""
  27. for match in re.finditer(regex,data,re.S):
  28. scripts += match.group(1)
  29. dataWithoutModStuff = dataWithoutModStuff.replace(match.group(0),'')
  30. modData += "\n.-.-.-. STORYDATA / SCRIPT .-.-.-.\n"
  31. modData += scripts
  32. with open(file_path_mod, 'w') as file:
  33. file.write(modData)
  34. print('Done')