Files
grepo-remote/split_script.py

69 lines
1.9 KiB
Python

import os
import re
input_file = '/media/haunter/e11cc3d4-c894-42cd-8c43-fe2cb25293fd/Vcode_raidbot/grepo-remote/GrepolisRemoteControl.user.js'
out_dir = '/media/haunter/e11cc3d4-c894-42cd-8c43-fe2cb25293fd/Vcode_raidbot/grepo-remote/bot_modules'
if not os.path.exists(out_dir):
os.makedirs(out_dir)
with open(input_file, 'r', encoding='utf-8') as f:
lines = f.readlines()
# Find the start of the IIFE
start_idx = 0
for i, line in enumerate(lines):
if line.strip().startswith('(function'):
start_idx = i + 1
break
# Extract the body of the IIFE (excluding the last '})();')
end_idx = len(lines)
for i in range(len(lines) - 1, -1, -1):
if line.strip().startswith('})();'):
end_idx = i
break
# Remove use strict if present
body_lines = [line for line in lines[start_idx:end_idx] if 'use strict' not in line]
# We will group them manually into files based on logical sections
sections = []
current_section = []
for line in body_lines:
current_section.append(line)
content = "".join(body_lines)
# Split by known markers
blocks = {
'00_config.js': [],
'01_ui.js': [],
'02_state.js': [],
'03_captcha.js': [],
'04_execute.js': [],
'05_main.js': []
}
current_file = '00_config.js'
for line in body_lines:
if '// Toolbar indicator button' in line:
current_file = '01_ui.js'
elif '// Push town state to relay' in line:
current_file = '02_state.js'
elif '// Captcha detection' in line:
current_file = '03_captcha.js'
elif '// Execute: Farm Upgrade' in line:
current_file = '04_execute.js'
elif '// Poll for and execute pending commands' in line:
current_file = '05_main.js'
blocks[current_file].append(line)
for filename, lines in blocks.items():
with open(os.path.join(out_dir, filename), 'w', encoding='utf-8') as f:
f.writelines(lines)
print("Split completed.")