Removed unused journeylifter Python tool

This commit is contained in:
Elvish_Hunter 2019-09-19 18:05:23 +02:00
parent bbf43bd4a7
commit b896517834
2 changed files with 1 additions and 130 deletions

View file

@ -29,7 +29,7 @@
* Chat is now enable in single-player and hotseat multiplayer. (Issue#1111)
* Ported the "expand-terrain-macros" tool to Python 3
* It's now possible to chat with oneself in SP campaigns. Chat is shown in replays. (Issue#1111)
* Removed the unused "scoutDefault" Python tool
* Removed unused "scoutDefault" and "journeylifter" Python tools
## Version 1.15.1
### Editor

View file

@ -1,129 +0,0 @@
#!/usr/bin/env python2
"""
journeylifter -- turn in-line track markers into a journey file.
Run in the scenario directory of a campaign. Generates a journey.cfg and
rewrites the files to reference it.
All mainline campaigns have already undergone this conversion; this script
may be helpful with UMC.
Assumes any existing journey.cfg is generated and removes it.
Assumes wmllint has been run, converting DOT/CROSS macros to the new form.
Assumes the scenario's filenames sort in the order they present.
Assumes there is only one continuous span of journey markers per file.
"""
import os, sys, re, getopt, shutil
top = "."
if __name__ == "__main__":
(options, arguments) = getopt.getopt(sys.argv[1:], "-d?hrc", [
'directory',
'help',
'revert',
'clean',
])
revert = clean = False
for (opt, val) in options:
if opt in ('-d', '--directory'):
top = val
elif opt in ('-?', '-h', '-"# trackplacer: tracks begin\n'):
print __doc__
sys.exit(0)
elif opt in ('-r', '--revert'):
revert = True
elif opt in ('-c', '--clean'):
clean = True
os.chdir(top)
try:
os.remove("journey.cfg")
except OSError:
pass
files = filter(lambda x: x.endswith(".cfg"), os.listdir("."))
files.sort()
if revert:
for name in files:
if os.path.exists(name + ".bak"):
os.rename(name + ".bak", name)
elif clean:
for name in files:
if os.path.exists(name + ".bak"):
os.remove(name + ".bak")
else:
jfp = open("journey.cfg", "w")
jfp.write("# trackplacer: tracks begin\n\n")
old_waypoint_re = re.compile("{OLD_[A-Z]+ +([0-9]+) +([0-9]+)}")
new_waypoint_re = re.compile("{NEW_[A-Z]+ +([0-9]+) +([0-9]+)}")
scenario_id_re = re.compile('id=[0-9]*_?"?([^"\n]*)')
background_re = re.compile('background=.*')
background = None
mapfile = {}
out = {}
n = 0
id_list = []
indent = 8
for name in files:
out[name] = []
lineno = 0
scenario_id = None
inside = False
for line in open(name):
lineno += 1
if re.search(old_waypoint_re, line):
continue
elif re.search(new_waypoint_re, line):
indent = 0
while line[indent] == ' ':
indent += 1
if not inside:
inside = True
n += 1
jfp.write("#define JOURNEY_STAGE%d\n" % n)
jfp.write(" # from %s, line %d\n" % (name, lineno))
jfp.write(" " + line.lstrip())
elif re.search(background_re, line):
mapfile["JOURNEY_STAGE%d" % (n+1,)] = (line, name, lineno)
out[name].append(line)
else:
if inside:
inside = False
jfp.write("#enddef\n\n")
out[name].append((" " * indent) + "{TO_%s}\n" % scenario_id)
id_list.append((scenario_id, name))
out[name].append(line)
if not scenario_id:
m = scenario_id_re.search(line)
if m:
scenario_id = m.group(1).upper()
# Now edit out background lines in relevant [parts]s
for (line, name, lineno) in mapfile.values():
i = lineno
while True:
if '[part]' in out[name][i]:
break
if 'background' in out[name][i]:
out[name] = out[name][:i] + out[name][i+1:]
break
i -= 1
# Done processing individual files, now write the journey postamble
jfp.write("# trackplacer: tracks end\n")
jfp.write("# wmllint: no translatables\n\n")
n = 0
for (scenario_id, name) in id_list:
n += 1
jfp.write("#define TO_%s\n" % scenario_id)
jfp.write(" # from %s\n" % name)
segment = "JOURNEY_STAGE%d" % n
if segment in mapfile:
(line, name, lineno) = mapfile[segment]
jfp.write(" " + line.lstrip())
jfp.write(" {%s}\n" % segment)
jfp.write("#enddef\n\n")
jfp.close()
for name in files:
os.rename(name, name + ".bak")
open(name, "w").writelines(out[name])