#!/usr/bin/env python3 import os import fileinput import re import sys modTag = "mod" file_path_html = 'glife.html' file_path_mod = 'mods' file_path_mod_online = 'mods' data = '' modData = {} scripts = {} dataWithoutModStuff = '' with open(file_path_html, 'r') as file: data = file.read() dataWithoutModStuff = data i = 0 regex = r"""(.*?)""" for match in re.finditer(regex,data,re.S): tags = match.group(3).split() if(modTag in tags): modId = 'default' for tag in tags: if tag.startswith('mod_'): modId = tag[4:] if modId not in modData: modData[modId] = '' modData[modId] += match.group(0)+'\n' dataWithoutModStuff = dataWithoutModStuff.replace(match.group(0),'') i += 1 if(i % 100 == 0): print(i) regex = r"""/\*\s*Start Mod:\s*"([^"]*)"\s*\*/(.*?)/\*\s*End Mod:\s*"Mod"\s*\*/""" for match in re.finditer(regex,data,re.S): modId = match.group(1).strip() if not modId: modId = 'default' if modId not in scripts: scripts[modId] = '' scripts[modId] += match.group(2) dataWithoutModStuff = dataWithoutModStuff.replace(match.group(0),'') for modId, scriptContent in scripts.items(): if modId not in modData: modData[modId] = '' modData[modId] += "\n.-.-.-. STORYDATA / SCRIPT .-.-.-.\n" modData[modId] += scriptContent for modId, modContent in modData.items(): modPath = os.path.join(file_path_mod,modId+'.html') with open(modPath, 'w') as file: file.write(modContent) for modId, modContent in modData.items(): modPath = os.path.join(file_path_mod_online,modId+'.php') with open(modPath, 'w') as file: file.write(f'(`{modContent}\n`);') with open(file_path_html, 'w') as file: file.write(dataWithoutModStuff) print('Done')