From c4ecadfda829da86cd1612641db752d75cf9a545 Mon Sep 17 00:00:00 2001 From: Adam Sampson Date: Wed, 28 Jul 2004 12:11:33 +0000 Subject: [PATCH] Use cPickle and the binary format. --- rawdoglib/persister.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/rawdoglib/persister.py b/rawdoglib/persister.py index 230725d..edc9ee9 100644 --- a/rawdoglib/persister.py +++ b/rawdoglib/persister.py @@ -16,7 +16,8 @@ # write to the Free Software Foundation, Inc., 59 Temple Place, Suite # 330, Boston, MA 02111-1307 USA, or see http://www.gnu.org/. -import pickle, fcntl +import fcntl +import cPickle as pickle class Persistable: """Something which can be persisted. When a subclass of this wants to @@ -56,6 +57,11 @@ class Persister: if self.object.is_modified(): self.file.seek(0) self.file.truncate(0) - pickle.dump(self.object, self.file) + try: + pickle.dump(self.object, self.file, pickle.HIGHEST_PROTOCOL) + except AttributeError: + # Python 2.2 doesn't have the protocol + # argument. + pickle.dump(self.object, self.file, True) self.file.close() -- 2.35.1