[kupfer] core.learn: Use ConservativeUnpickler for mnemonics
- From: Ulrik Sverdrup <usverdrup src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [kupfer] core.learn: Use ConservativeUnpickler for mnemonics
- Date: Thu, 15 Apr 2010 17:06:39 +0000 (UTC)
commit fd9cd6b5802f96a6769c200673adce4febed189e
Author: Ulrik Sverdrup <ulrik sverdrup gmail com>
Date: Wed Apr 14 17:06:56 2010 +0200
core.learn: Use ConservativeUnpickler for mnemonics
kupfer/core/learn.py | 20 +++++++++++---------
1 files changed, 11 insertions(+), 9 deletions(-)
---
diff --git a/kupfer/core/learn.py b/kupfer/core/learn.py
index dd30303..df2c997 100644
--- a/kupfer/core/learn.py
+++ b/kupfer/core/learn.py
@@ -1,7 +1,8 @@
import cPickle as pickle
-from kupfer import pretty
from kupfer import config
+from kupfer import conspickle
+from kupfer import pretty
mnemonics_filename = "mnemonics.pickle"
@@ -46,20 +47,21 @@ class Learning (object):
except IOError, e:
return None
try:
- source = pickle.loads(pfile.read())
- assert isinstance(source, dict), "Stored object not a dict"
+ data = conspickle.ConservativeUnpickler.loads(pfile.read())
+ assert isinstance(data, dict), "Stored object not a dict"
pretty.print_debug(__name__, "Reading from %s" % (pickle_file, ))
except (pickle.PickleError, Exception), e:
- source = None
+ data = None
pretty.print_error(__name__, "Error loading %s: %s" % (pickle_file, e))
- return source
+ finally:
+ pfile.close()
+ return data
@classmethod
def _pickle_register(self, reg, pickle_file):
- output = open(pickle_file, "wb")
- pretty.print_debug(__name__, "Saving to %s" % (pickle_file, ))
- output.write(pickle.dumps(reg, pickle.HIGHEST_PROTOCOL))
- output.close()
+ with open(pickle_file, "wb") as output:
+ pretty.print_debug(__name__, "Saving to %s" % (pickle_file, ))
+ output.write(pickle.dumps(reg, pickle.HIGHEST_PROTOCOL))
return True
_register = {}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]