MCPcopy
hub / github.com/cloudpipe/cloudpickle / save_global

Method save_global

cloudpickle/cloudpickle.py:1441–1463  ·  view source on GitHub ↗

Main dispatch method. The name of this method is somewhat misleading: all types get dispatched here.

(self, obj, name=None, pack=struct.pack)

Source from the content-addressed store, hash-verified

1439 write(pickle.POP)
1440
1441 def save_global(self, obj, name=None, pack=struct.pack):
1442 """Main dispatch method.
1443
1444 The name of this method is somewhat misleading: all types get
1445 dispatched here.
1446 """
1447 if obj is type(None): # noqa
1448 return self.save_reduce(type, (None,), obj=obj)
1449 elif obj is type(Ellipsis):
1450 return self.save_reduce(type, (Ellipsis,), obj=obj)
1451 elif obj is type(NotImplemented):
1452 return self.save_reduce(type, (NotImplemented,), obj=obj)
1453 elif obj in _BUILTIN_TYPE_NAMES:
1454 return self.save_reduce(
1455 _builtin_type, (_BUILTIN_TYPE_NAMES[obj],), obj=obj
1456 )
1457
1458 if name is not None:
1459 super().save_global(obj, name=name)
1460 elif not _should_pickle_by_reference(obj, name=name):
1461 self._save_reduce_pickle5(*_dynamic_class_reduce(obj), obj=obj)
1462 else:
1463 super().save_global(obj, name=name)
1464
1465 dispatch[type] = save_global
1466

Callers 1

save_functionMethod · 0.80

Calls 3

_save_reduce_pickle5Method · 0.95
_dynamic_class_reduceFunction · 0.85

Tested by

no test coverage detected