(self, filename, read_mode=False)
| 61 | """ |
| 62 | |
| 63 | def __init__(self, filename, read_mode=False): |
| 64 | self._f = open(filename, 'rb' if read_mode else 'a+b') |
| 65 | self._fname = filename |
| 66 | capacity = os.fstat(self._f.fileno()).st_size |
| 67 | if capacity == 0: |
| 68 | self._f.truncate(_INITIAL_MMAP_SIZE) |
| 69 | capacity = _INITIAL_MMAP_SIZE |
| 70 | self._capacity = capacity |
| 71 | self._m = mmap.mmap(self._f.fileno(), self._capacity, |
| 72 | access=mmap.ACCESS_READ if read_mode else mmap.ACCESS_WRITE) |
| 73 | |
| 74 | self._positions = {} |
| 75 | self._used = _unpack_integer(self._m, 0)[0] |
| 76 | if self._used == 0: |
| 77 | self._used = 8 |
| 78 | _pack_integer(self._m, 0, self._used) |
| 79 | else: |
| 80 | if not read_mode: |
| 81 | for key, _, _, pos in self._read_all_values(): |
| 82 | self._positions[key] = pos |
| 83 | |
| 84 | @staticmethod |
| 85 | def read_all_values_from_file(filename): |
nothing calls this directly
no test coverage detected