[Xword-commits] r61 - trunk/root/usr/bin

btb at garage.maemo.org btb at garage.maemo.org
Wed Apr 30 05:33:42 EEST 2008


Author: btb
Date: 2008-04-30 05:33:42 +0300 (Wed, 30 Apr 2008)
New Revision: 61

Modified:
   trunk/root/usr/bin/xword
Log:
handle bad files gracefully


Modified: trunk/root/usr/bin/xword
===================================================================
--- trunk/root/usr/bin/xword	2008-04-30 01:31:15 UTC (rev 60)
+++ trunk/root/usr/bin/xword	2008-04-30 02:33:42 UTC (rev 61)
@@ -266,9 +266,9 @@
         cksum_cib = f.read_short()
         magic_10 = f.read_chars(4)
         magic_14 = f.read_chars(4)
-        ver_magic = f.read_string()
-        #assert(ver_magic == "1.2") #cryptic puzzles are 1.3
-        
+        # most puzzles are v 1.2, cryptic puzzles are 1.3
+        puz_version = f.read_string()
+
         f.seek(0x2c)
         self.width = f.read_byte()
         self.height = f.read_byte()
@@ -1360,7 +1360,11 @@
         
         if self.puzzle: self.write_puzzle()
 
-        self.set_puzzle(Puzzle(fname), start_over)
+        try:
+            self.set_puzzle(Puzzle(fname), start_over)
+        except:
+            self.notify("%s could not be loaded" % fname)
+            return
         self.last_file = fname
         self.control = PuzzleController(self.puzzle)
         self.setup_controller()
@@ -2205,10 +2209,13 @@
         osso_rpc.set_rpc_callback("org.maemo.xword", "/org/maemo/xword",
                                   "org.maemo.xword", osso_callback, osso_c)
 
-    if len(sys.argv) <> 2:
-        p = None
-    else:
-        p = Puzzle(sys.argv[1])
-        
+    p = None
+    if len(sys.argv) == 2 and os.path.exists(sys.argv[1]):
+        try:
+            p = Puzzle(sys.argv[1])
+        except:
+            print "%s could not be loaded" % sys.argv[1]
+            p = None
+
     w = PuzzleWindow(p)
     gtk.main()



More information about the Xword-commits mailing list