changeset 540:882b582da618

Remove down wrapping of exceptions.
author Simon Cross <hodgestar@gmail.com>
date Sat, 28 Nov 2009 09:58:40 +0000
parents f4d1b9ff9558
children 450de9dfa106
files gamelib/savegame.py
diffstat 1 files changed, 26 insertions(+), 33 deletions(-) [+]
line wrap: on
line diff
--- 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()