diff options
author | Jeremy Hylton <jeremy@alum.mit.edu> | 2002-07-16 19:47:43 (GMT) |
---|---|---|
committer | Jeremy Hylton <jeremy@alum.mit.edu> | 2002-07-16 19:47:43 (GMT) |
commit | 39c6116483bd7932cee220943e329c5994f62cc7 (patch) | |
tree | 4a6185dcf61e2dc5c06386075cfd2802ff8d0e86 /Lib | |
parent | 719841e2fbf9ca6320aa9515fe054cf4887dab64 (diff) | |
download | cpython-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.py | 10 |
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: |