__init__(), save_views(): Catch ValueError along with IOError and
EOFError so any failures in unmarshalling are just ignored. Use
print>> instead of sys.stderr.write().
diff --git a/Tools/pynche/Switchboard.py b/Tools/pynche/Switchboard.py
index f67a1a9..0ad7c63 100644
--- a/Tools/pynche/Switchboard.py
+++ b/Tools/pynche/Switchboard.py
@@ -45,6 +45,8 @@
from types import DictType
import marshal
+
+
class Switchboard:
def __init__(self, initfile):
self.__initfile = initfile
@@ -63,11 +65,10 @@
fp = open(initfile)
self.__optiondb = marshal.load(fp)
if type(self.__optiondb) <> DictType:
- sys.stderr.write(
- 'Problem reading options from file: %s\n' %
- initfile)
+ print >> sys.stderr, \
+ 'Problem reading options from file:', initfile
self.__optiondb = {}
- except (IOError, EOFError):
+ except (IOError, EOFError, ValueError):
pass
finally:
if fp:
@@ -118,8 +119,8 @@
try:
fp = open(self.__initfile, 'w')
except IOError:
- sys.stderr.write('Cannot write options to file: %s\n' %
- self.__initfile)
+ print >> sys.stderr, 'Cannot write options to file:', \
+ self.__initfile
else:
marshal.dump(self.__optiondb, fp)
finally: