Return a string representation or raise a KeyError.
(self, key)
| 1371 | return msg |
| 1372 | |
| 1373 | def get_bytes(self, key): |
| 1374 | """Return a string representation or raise a KeyError.""" |
| 1375 | start, stop = self._lookup(key) |
| 1376 | self._file.seek(start) |
| 1377 | self._file.readline() # Skip b'1,' line specifying labels. |
| 1378 | original_headers = io.BytesIO() |
| 1379 | while True: |
| 1380 | line = self._file.readline() |
| 1381 | if line == b'*** EOOH ***' + linesep or not line: |
| 1382 | break |
| 1383 | original_headers.write(line.replace(linesep, b'\n')) |
| 1384 | while True: |
| 1385 | line = self._file.readline() |
| 1386 | if line == linesep or not line: |
| 1387 | break |
| 1388 | headers = original_headers.getvalue() |
| 1389 | n = stop - self._file.tell() |
| 1390 | assert n >= 0 |
| 1391 | data = self._file.read(n) |
| 1392 | data = data.replace(linesep, b'\n') |
| 1393 | return headers + data |
| 1394 | |
| 1395 | def get_file(self, key): |
| 1396 | """Return a file-like representation or raise a KeyError.""" |