Return a string representation or raise a KeyError.
(self, key)
| 1297 | return msg |
| 1298 | |
| 1299 | def get_bytes(self, key): |
| 1300 | """Return a string representation or raise a KeyError.""" |
| 1301 | start, stop = self._lookup(key) |
| 1302 | self._file.seek(start) |
| 1303 | self._file.readline() # Skip b'1,' line specifying labels. |
| 1304 | original_headers = io.BytesIO() |
| 1305 | while True: |
| 1306 | line = self._file.readline() |
| 1307 | if line == b'*** EOOH ***' + linesep or not line: |
| 1308 | break |
| 1309 | original_headers.write(line.replace(linesep, b'\n')) |
| 1310 | while True: |
| 1311 | line = self._file.readline() |
| 1312 | if line == linesep or not line: |
| 1313 | break |
| 1314 | headers = original_headers.getvalue() |
| 1315 | n = stop - self._file.tell() |
| 1316 | assert n >= 0 |
| 1317 | data = self._file.read(n) |
| 1318 | data = data.replace(linesep, b'\n') |
| 1319 | return headers + data |
| 1320 | |
| 1321 | def get_file(self, key): |
| 1322 | """Return a file-like representation or raise a KeyError.""" |