(self, code)
| 1554 | dispatch[EXT4[0]] = load_ext4 |
| 1555 | |
| 1556 | def get_extension(self, code): |
| 1557 | nil = [] |
| 1558 | obj = _extension_cache.get(code, nil) |
| 1559 | if obj is not nil: |
| 1560 | self.append(obj) |
| 1561 | return |
| 1562 | key = _inverted_registry.get(code) |
| 1563 | if not key: |
| 1564 | if code <= 0: # note that 0 is forbidden |
| 1565 | # Corrupt or hostile pickle. |
| 1566 | raise UnpicklingError("EXT specifies code <= 0") |
| 1567 | raise ValueError("unregistered extension code %d" % code) |
| 1568 | obj = self.find_class(*key) |
| 1569 | _extension_cache[code] = obj |
| 1570 | self.append(obj) |
| 1571 | |
| 1572 | def find_class(self, module, name): |
| 1573 | # Subclasses may override this. |
no test coverage detected