[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