@@ -1026,9 +1026,7 @@ def __init__(
1026
1026
self ._column_selector_set = False
1027
1027
self ._value_labels_read = False
1028
1028
self ._data_read = False
1029
- # TODO: Place holder for mypy, is this right?
1030
- self ._dtype = np .dtype ("int" )
1031
- self ._dtype_setup = False
1029
+ self ._dtype = None
1032
1030
self ._lines_read = 0
1033
1031
1034
1032
self ._native_byteorder = _set_endianness (sys .byteorder )
@@ -1364,7 +1362,7 @@ def _read_old_header(self, first_char: bytes) -> None:
1364
1362
1365
1363
def _setup_dtype (self ) -> np .dtype :
1366
1364
"""Map between numpy and state dtypes"""
1367
- if self ._dtype_setup :
1365
+ if self ._dtype is not None :
1368
1366
return self ._dtype
1369
1367
1370
1368
dtypes = [] # Convert struct data types to numpy data type
@@ -1374,7 +1372,6 @@ def _setup_dtype(self) -> np.dtype:
1374
1372
else :
1375
1373
dtypes .append (("s" + str (i ), "S" + str (typ )))
1376
1374
self ._dtype = np .dtype (dtypes )
1377
- self ._dtype_setup = True
1378
1375
1379
1376
return self ._dtype
1380
1377
@@ -1413,6 +1410,7 @@ def _read_value_labels(self) -> None:
1413
1410
if self .format_version >= 117 :
1414
1411
self .path_or_buf .seek (self .seek_value_labels )
1415
1412
else :
1413
+ assert self ._dtype is not None
1416
1414
offset = self .nobs * self ._dtype .itemsize
1417
1415
self .path_or_buf .seek (self .data_location + offset )
1418
1416
@@ -1549,6 +1547,7 @@ def read(
1549
1547
self ._read_strls ()
1550
1548
1551
1549
# Read data
1550
+ assert self ._dtype is not None
1552
1551
dtype = self ._dtype
1553
1552
max_read_len = (self .nobs - self ._lines_read ) * dtype .itemsize
1554
1553
read_len = nrows * dtype .itemsize
0 commit comments