Upconvert wrapper logic: it can find the right files to work on now.

This commit is contained in:
Eric S. Raymond 2007-04-18 21:21:18 +00:00
parent bf74c11bc3
commit e726576f17

View file

@ -4,52 +4,89 @@
import sys, os, getopt
:-)filemoves = {
filemoves = {
# Older includes all previous to 1.3.1.
"older" : (
{"creepy.ogg", "underground.ogg"},
{"eagle.wav", "gryphon-shriek-1.ogg"},
{"lightning.wav", "lightning.ogg"}, # Bug fix
{"creepy.ogg": "underground.ogg"},
{"eagle.wav": "gryphon-shriek-1.ogg"},
{"lightning.wav": "lightning.ogg"}, # Bug fix
),
"1.3.1" : (
# Peasant images moved to a new directory
{"human-loyalists/peasant.png", "human-peasants/peasant.png"},
{"human-loyalists/peasant-attack.png", "human-peasants/peasant-attack.png"},
{"human-loyalists/peasant-attack2.png", "human-peasants/peasant-attack2.png"},
{"human-loyalists/peasant-ranged.png", "human-peasants/peasant-ranged.png"},
{"human-loyalists/peasant-idle-1.png", "human-peasants/peasant-idle-1.png"},
{"human-loyalists/peasant-idle-2.png", "human-peasants/peasant-idle-2.png"},
{"human-loyalists/peasant-idle-3.png", "human-peasants/peasant-idle-3.png"},
{"human-loyalists/peasant-idle-4.png", "human-peasants/peasant-idle-4.png"},
{"human-loyalists/peasant-idle-5.png", "human-peasants/peasant-idle-5.png"},
{"human-loyalists/peasant-idle-6.png", "human-peasants/peasant-idle-6.png"},
{"human-loyalists/peasant-idle-7.png", "human-peasants/peasant-idle-7.png"},
{"human-loyalists/peasant.png": "human-peasants/peasant.png"},
{"human-loyalists/peasant-attack.png": "human-peasants/peasant-attack.png"},
{"human-loyalists/peasant-attack2.png": "human-peasants/peasant-attack2.png"},
{"human-loyalists/peasant-ranged.png": "human-peasants/peasant-ranged.png"},
{"human-loyalists/peasant-idle-1.png": "human-peasants/peasant-idle-1.png"},
{"human-loyalists/peasant-idle-2.png": "human-peasants/peasant-idle-2.png"},
{"human-loyalists/peasant-idle-3.png": "human-peasants/peasant-idle-3.png"},
{"human-loyalists/peasant-idle-4.png": "human-peasants/peasant-idle-4.png"},
{"human-loyalists/peasant-idle-5.png": "human-peasants/peasant-idle-5.png"},
{"human-loyalists/peasant-idle-6.png": "human-peasants/peasant-idle-6.png"},
{"human-loyalists/peasant-idle-7.png": "human-peasants/peasant-idle-7.png"},
# All Great Mage attacks were renamed
{"great-mage-attack-magic1.png", "great-mage-attack-magic-1.png"},
{"great-mage-attack-magic2.png", "great-mage-attack-magic-2.png"},
{"great-mage+female-attack-magic1.png", "great-mage+female-attack-magic-1.png"},
{"great-mage+female-attack-magic2.png", "great-mage+female-attack-magic-2.png"},
{"great-mage-attack-staff1.png", "great-mage-attack-staff-1.png"},
{"great-mage-attack-staff2.png", "great-mage-attack-staff-2.png"},
{"great-mage+female-attack-staff1.png", "great-mage+female-attack-staff-1.png"},
{"great-mage+female-attack-staff2.png", "great-mage+female-attack-staff-2.png"},
{"great-mage-attack-magic1.png": "great-mage-attack-magic-1.png"},
{"great-mage-attack-magic2.png": "great-mage-attack-magic-2.png"},
{"great-mage+female-attack-magic1.png": "great-mage+female-attack-magic-1.png"},
{"great-mage+female-attack-magic2.png": "great-mage+female-attack-magic-2.png"},
{"great-mage-attack-staff1.png": "great-mage-attack-staff-1.png"},
{"great-mage-attack-staff2.png": "great-mage-attack-staff-2.png"},
{"great-mage+female-attack-staff1.png": "great-mage+female-attack-staff-1.png"},
{"great-mage+female-attack-staff2.png": "great-mage+female-attack-staff-2.png"},
# All Arch Mage attacks were renamed
{"arch-mage-attack-magic1.png", "arch-mage-attack-magic-1.png"},
{"arch-mage-attack-magic2.png", "arch-mage-attack-magic-2.png"},
{"arch-mage+female-attack-magic1.png", "arch-mage+female-attack-magic-1.png"},
{"arch-mage+female-attack-magic2.png", "arch-mage+female-attack-magic-2.png"},
{"arch-mage-attack-staff1.png", "arch-mage-attack-staff-1.png"},
{"arch-mage-attack-staff2.png", "arch-mage-attack-staff-2.png"},
{"arch-mage+female-attack-staff1.png", "arch-mage+female-attack-staff-1.png"},
{"arch-mage+female-attack-staff2.png", "arch-mage+female-attack-staff-2.png"},
{"arch-mage-attack-magic1.png": "arch-mage-attack-magic-1.png"},
{"arch-mage-attack-magic2.png": "arch-mage-attack-magic-2.png"},
{"arch-mage+female-attack-magic1.png": "arch-mage+female-attack-magic-1.png"},
{"arch-mage+female-attack-magic2.png": "arch-mage+female-attack-magic-2.png"},
{"arch-mage-attack-staff1.png": "arch-mage-attack-staff-1.png"},
{"arch-mage-attack-staff2.png": "arch-mage-attack-staff-2.png"},
{"arch-mage+female-attack-staff1.png": "arch-mage+female-attack-staff-1.png"},
{"arch-mage+female-attack-staff2.png": "arch-mage+female-attack-staff-2.png"},
# All Red Mage attacks were renamed
{"red-mage-attack-magic1.png", "red-mage-attack-magic-1.png"},
{"red-mage-attack-magic2.png", "red-mage-attack-magic-2.png"},
{"red-mage+female-attack-magic1.png", "red-mage+female-attack-magic-1.png"},
{"red-mage+female-attack-magic2.png", "red-mage+female-attack-magic-2.png"},
{"red-mage-attack-staff1.png", "red-mage-attack-staff-1.png"},
{"red-mage-attack-staff2.png", "red-mage-attack-staff-2.png"},
{"red-mage+female-attack-staff1.png", "red-mage+female-attack-staff-1.png"},
{"red-mage+female-attack-staff2.png", "red-mage+female-attack-staff-2.png"},
{"red-mage-attack-magic1.png": "red-mage-attack-magic-1.png"},
{"red-mage-attack-magic2.png": "red-mage-attack-magic-2.png"},
{"red-mage+female-attack-magic1.png": "red-mage+female-attack-magic-1.png"},
{"red-mage+female-attack-magic2.png": "red-mage+female-attack-magic-2.png"},
{"red-mage-attack-staff1.png": "red-mage-attack-staff-1.png"},
{"red-mage-attack-staff2.png": "red-mage-attack-staff-2.png"},
{"red-mage+female-attack-staff1.png": "red-mage+female-attack-staff-1.png"},
{"red-mage+female-attack-staff2.png": "red-mage+female-attack-staff-2.png"},
),
}
def allcfgfiles(dir):
"Get the names of all .cfg files under dir, ignoring .svn directories."
datafiles = []
os.path.walk(dir,
lambda arg, dir, names: datafiles.extend(map(lambda x: os.path.normpath(os.path.join(dir, x)), names)),
None)
datafiles = filter(lambda x: ".svn" not in x, datafiles)
datafiles = filter(lambda x: x.endswith(".cfg"), datafiles)
return datafiles
def help():
sys.stderr.write("""\
Usage: upconvert [options]
Convert Battle of Wesnoth WML from older versions to newer ones.
Options may be any of these:
-h, --help Emit this help message and quit
-o, --oldversion Specify version to begin with.
The required dirpath argument may be a colon-separated directory list.
""")
if __name__ == '__main__':
(options, arguments) = getopt.getopt(sys.argv[1:], "o:", [
"oldversion=",
])
oldversion = 'older'
for (switch, val) in options:
if switch in ('-h', '--help'):
help()
sys.exit(0)
elif switch in ('-o', '--oldversion'):
oldversion = val
datafiles = allcfgfiles(".")
# More to go here
print datafiles