(self, code)
| 1667 | dispatch[EXT4[0]] = load_ext4 |
| 1668 | |
| 1669 | def get_extension(self, code): |
| 1670 | obj = _extension_cache.get(code, _NoValue) |
| 1671 | if obj is not _NoValue: |
| 1672 | self.append(obj) |
| 1673 | return |
| 1674 | key = _inverted_registry.get(code) |
| 1675 | if not key: |
| 1676 | if code <= 0: # note that 0 is forbidden |
| 1677 | # Corrupt or hostile pickle. |
| 1678 | raise UnpicklingError("EXT specifies code <= 0") |
| 1679 | raise ValueError("unregistered extension code %d" % code) |
| 1680 | obj = self.find_class(*key) |
| 1681 | _extension_cache[code] = obj |
| 1682 | self.append(obj) |
| 1683 | |
| 1684 | def find_class(self, module, name): |
| 1685 | # Subclasses may override this. |
no test coverage detected