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