Home | History | Annotate | Download | only in Lib

Lines Matching defs:OBJ

134 OBJ             = 'o'   # build & push class instance
220 def dump(self, obj):
221 """Write a pickled representation of obj to the open file."""
224 self.save(obj)
227 def memoize(self, obj):
244 assert id(obj) not in self.memo
247 self.memo[id(obj)] = memo_len, obj
269 def save(self, obj):
271 pid = self.persistent_id(obj)
277 x = self.memo.get(id(obj))
283 t = type(obj)
286 f(self, obj) # Call unbound method with explicit self
292 rv = reduce(obj)
300 self.save_global(obj)
304 reduce = getattr(obj, "__reduce_ex__", None)
308 reduce = getattr(obj, "__reduce__", None)
313 (t.__name__, obj))
317 self.save_global(obj, rv)
331 self.save_reduce(obj=obj, *rv)
333 def persistent_id(self, obj):
346 listitems=None, dictitems=None, obj=None):
392 if obj is not None and cls is not obj.__class__:
404 if obj is not None:
408 if id(obj) in self.memo:
409 write(POP + self.get(self.memo[id(obj)][0]))
411 self.memoize(obj)
432 def save_none(self, obj):
436 def save_bool(self, obj):
438 self.write(obj and NEWTRUE or NEWFALSE)
440 self.write(obj and TRUE or FALSE)
443 def save_int(self, obj, pack=struct.pack):
449 if obj >= 0:
450 if obj <= 0xff:
451 self.write(BININT1 + chr(obj))
453 if obj <= 0xffff:
454 self.write("%c%c%c" % (BININT2, obj&0xff, obj>>8))
457 high_bits = obj >> 31 # note that Python shift sign-extends
461 self.write(BININT + pack("<i", obj))
464 self.write(INT + repr(obj) + '\n')
467 def save_long(self, obj, pack=struct.pack):
469 bytes = encode_long(obj)
476 self.write(LONG + repr(obj) + '\n')
479 def save_float(self, obj, pack=struct.pack):
481 self.write(BINFLOAT + pack('>d', obj))
483 self.write(FLOAT + repr(obj) + '\n')
486 def save_string(self, obj, pack=struct.pack):
488 n = len(obj)
490 self.write(SHORT_BINSTRING + chr(n) + obj)
492 self.write(BINSTRING + pack("<i", n) + obj)
494 self.write(STRING + repr(obj) + '\n')
495 self.memoize(obj)
498 def save_unicode(self, obj, pack=struct.pack):
500 encoding = obj.encode('utf-8')
504 obj = obj.replace("\\", "\\u005c")
505 obj = obj.replace("\n", "\\u000a")
506 self.write(UNICODE + obj.encode('raw-unicode-escape') + '\n')
507 self.memoize(obj)
512 def save_string(self, obj, pack=struct.pack):
513 unicode = obj.isunicode()
517 obj = obj.encode("utf-8")
518 l = len(obj)
520 self.write(SHORT_BINSTRING + chr(l) + obj)
524 self.write(BINUNICODE + s + obj)
526 self.write(BINSTRING + s + obj)
529 obj = obj.replace("\\", "\\u005c")
530 obj = obj.replace("\n", "\\u000a")
531 obj = obj.encode('raw-unicode-escape')
532 self.write(UNICODE + obj + '\n')
534 self.write(STRING + repr(obj) + '\n')
535 self.memoize(obj)
538 def save_tuple(self, obj):
542 n = len(obj)
553 for element in obj:
556 if id(obj) in memo:
557 get = self.get(memo[id(obj)][0])
561 self.memoize(obj)
567 for element in obj:
570 if id(obj) in memo:
578 get = self.get(memo[id(obj)][0])
587 self.memoize(obj)
594 def save_empty_tuple(self, obj):
597 def save_list(self, obj):
605 self.memoize(obj)
606 self._batch_appends(iter(obj))
646 def save_dict(self, obj):
654 self.memoize(obj)
655 self._batch_setitems(obj.iteritems())
696 def save_inst(self, obj):
697 cls = obj.__class__
703 if hasattr(obj, '__getinitargs__'):
704 args = obj.__getinitargs__()
716 write(OBJ)
722 self.memoize(obj)
725 getstate = obj.__getstate__
727 stuff = obj.__dict__
736 def save_global(self, obj, name=None, pack=struct.pack):
741 name = obj.__name__
743 module = getattr(obj, "__module__", None)
745 module = whichmodule(obj, name)
754 (obj, module, name))
756 if klass is not obj:
759 (obj, module, name))
774 self.memoize(obj)
1044 # INST and OBJ differ only in how they get a class object. It's not
1084 dispatch[OBJ] = load_obj
1089 obj = cls.__new__(cls, *args)
1090 self.stack[-1] = obj
1117 obj = _extension_cache.get(code, nil)
1118 if obj is not nil:
1119 self.append(obj)
1124 obj = self.find_class(*key)
1125 _extension_cache[code] = obj
1126 self.append(obj)
1375 def dump(obj, file, protocol=None):
1376 Pickler(file, protocol).dump(obj)
1378 def dumps(obj, protocol=None):
1380 Pickler(file, protocol).dump(obj)