summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorJeremy Hylton <jeremy@alum.mit.edu>2002-07-16 19:47:43 (GMT)
committerJeremy Hylton <jeremy@alum.mit.edu>2002-07-16 19:47:43 (GMT)
commit39c6116483bd7932cee220943e329c5994f62cc7 (patch)
tree4a6185dcf61e2dc5c06386075cfd2802ff8d0e86 /Lib
parent719841e2fbf9ca6320aa9515fe054cf4887dab64 (diff)
downloadcpython-39c6116483bd7932cee220943e329c5994f62cc7.zip
cpython-39c6116483bd7932cee220943e329c5994f62cc7.tar.gz
cpython-39c6116483bd7932cee220943e329c5994f62cc7.tar.bz2
Given the persistent id code a shot at a class before calling save_global().
Some persistent picklers (well, probably, the *only* persistent pickler) would like to pickle some classes in a special way.
Diffstat (limited to 'Lib')
-rw-r--r--Lib/pickle.py10
1 files changed, 5 insertions, 5 deletions
diff --git a/Lib/pickle.py b/Lib/pickle.py
index e553920..a507595 100644
--- a/Lib/pickle.py
+++ b/Lib/pickle.py
@@ -213,6 +213,11 @@ class Pickler:
try:
f = self.dispatch[t]
except KeyError:
+ pid = self.inst_persistent_id(object)
+ if pid is not None:
+ self.save_pers(pid)
+ return
+
try:
issc = issubclass(t, TypeType)
except TypeError: # t is not a class
@@ -221,11 +226,6 @@ class Pickler:
self.save_global(object)
return
- pid = self.inst_persistent_id(object)
- if pid is not None:
- self.save_pers(pid)
- return
-
try:
reduce = dispatch_table[t]
except KeyError: