# HG changeset patch # User Simon Cross # Date 1259402320 0 # Node ID 882b582da618bfffffd1140b94c0667efa0920ba # Parent f4d1b9ff9558fa7424235cf1f03e3fc1cf4d2f2e Remove down wrapping of exceptions. diff -r f4d1b9ff9558 -r 882b582da618 gamelib/savegame.py --- a/gamelib/savegame.py Sat Nov 28 09:52:08 2009 +0000 +++ b/gamelib/savegame.py Sat Nov 28 09:58:40 2009 +0000 @@ -19,48 +19,41 @@ def read_savegame(fullpath): """Open a save game file.""" - try: - xml = zlib.decompress(open(fullpath, "rb").read()) - params, methodname = xmlrpclib.loads(xml) - if methodname != "foxassault": - raise SaveGameError("File does not appear to be a " - "Fox Assault save game.") - save_version = params[0] - if save_version != version.SAVE_GAME_VERSION: - raise SaveGameError("Incompatible save game version.") + xml = zlib.decompress(open(fullpath, "rb").read()) + params, methodname = xmlrpclib.loads(xml) + if methodname != "foxassault": + raise SaveGameError("File does not appear to be a " + "Fox Assault save game.") + save_version = params[0] + if save_version != version.SAVE_GAME_VERSION: + raise SaveGameError("Incompatible save game version.") - data = params[1] + data = params[1] - try: - snapshot = decode_snapshot(params[2]) - except Exception, e: - snapshot = None + try: + snapshot = decode_snapshot(params[2]) + except Exception, e: + snapshot = None - try: - level_name = params[3] - except Exception, e: - level_name = None + try: + level_name = params[3] + except Exception, e: + level_name = None - try: - timestamp = datetime.datetime.strptime(params[4], TIMESTAMP_FORMAT) - except Exception, e: - timestamp = None - + try: + timestamp = datetime.datetime.strptime(params[4], TIMESTAMP_FORMAT) except Exception, e: - raise SaveGameError("Failed to load game: %s" % (e,)) + timestamp = None return data, snapshot, level_name, timestamp def write_savegame(fullpath, data, snapshot, level_name, timestamp): """Write a save game file.""" - try: - snapshot_data = encode_snapshot(snapshot) - timestamp_str = timestamp.strftime(TIMESTAMP_FORMAT) - params = (version.SAVE_GAME_VERSION, data, snapshot_data, level_name, timestamp_str) - xml = xmlrpclib.dumps(params, "foxassault") - open(fullpath, "wb").write(zlib.compress(xml)) - except Exception, e: - raise SaveGameError("Failed to save game: %s" % (e,)) + snapshot_data = encode_snapshot(snapshot) + timestamp_str = timestamp.strftime(TIMESTAMP_FORMAT) + params = (version.SAVE_GAME_VERSION, data, snapshot_data, level_name, timestamp_str) + xml = xmlrpclib.dumps(params, "foxassault") + open(fullpath, "wb").write(zlib.compress(xml)) def encode_snapshot(snapshot): """Encode a snapshot.""" @@ -162,7 +155,7 @@ """Create an image showing the contents of a save game file.""" try: data, screenshot, level_name, timestamp = read_savegame(fullpath) - except SaveGameError: + except Exception: return gui.Label("Bad Save Game") tbl = gui.Table()