From e726576f170667c6680fcc66fd74771bf8583aee Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Wed, 18 Apr 2007 21:21:18 +0000 Subject: [PATCH] Upconvert wrapper logic: it can find the right files to work on now. --- data/tools/upconvert | 115 ++++++++++++++++++++++++++++--------------- 1 file changed, 76 insertions(+), 39 deletions(-) diff --git a/data/tools/upconvert b/data/tools/upconvert index ec9c877a1fd..0fa4173d87b 100755 --- a/data/tools/upconvert +++ b/data/tools/upconvert @@ -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