Reads value labels with fixed-length strings (105 and earlier format)
(self)
| 1511 | self._path_or_buf.read(6) # </lbl> |
| 1512 | |
| 1513 | def _read_old_value_labels(self) -> None: |
| 1514 | """Reads value labels with fixed-length strings (105 and earlier format)""" |
| 1515 | assert self._dtype is not None |
| 1516 | offset = self._nobs * self._dtype.itemsize |
| 1517 | self._path_or_buf.seek(self._data_location + offset) |
| 1518 | |
| 1519 | while True: |
| 1520 | if not self._path_or_buf.read(2): |
| 1521 | # end-of-file may have been reached, if so stop here |
| 1522 | break |
| 1523 | |
| 1524 | # otherwise back up and read again, taking byteorder into account |
| 1525 | self._path_or_buf.seek(-2, os.SEEK_CUR) |
| 1526 | n = self._read_uint16() |
| 1527 | labname = self._decode(self._path_or_buf.read(9)) |
| 1528 | self._path_or_buf.read(1) # padding |
| 1529 | codes = np.frombuffer( |
| 1530 | self._path_or_buf.read(2 * n), dtype=f"{self._byteorder}i2", count=n |
| 1531 | ) |
| 1532 | self._value_label_dict[labname] = {} |
| 1533 | for i in range(n): |
| 1534 | self._value_label_dict[labname][codes[i]] = self._decode( |
| 1535 | self._path_or_buf.read(8) |
| 1536 | ) |
| 1537 | |
| 1538 | def _read_value_labels(self) -> None: |
| 1539 | self._ensure_open() |
no test coverage detected