Skip to content

Commit ab2a299

Browse files
committed
refactor: don't parse types in classic if making df
1 parent b951654 commit ab2a299

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

epidatpy/request.py

+5-2
Original file line numberDiff line numberDiff line change
@@ -95,12 +95,15 @@ def classic(
9595
self,
9696
fields: Optional[Sequence[str]] = None,
9797
disable_date_parsing: Optional[bool] = False,
98+
disable_type_parsing: Optional[bool] = False,
9899
) -> EpiDataResponse:
99100
"""Request and parse epidata in CLASSIC message format."""
100101
self._verify_parameters()
101102
try:
102103
response = self._call(fields)
103104
r = cast(EpiDataResponse, response.json())
105+
if disable_type_parsing:
106+
return r
104107
epidata = r.get("epidata")
105108
if epidata and isinstance(epidata, list) and len(epidata) > 0 and isinstance(epidata[0], dict):
106109
r["epidata"] = [self._parse_row(row, disable_date_parsing=disable_date_parsing) for row in epidata]
@@ -115,7 +118,7 @@ def __call__(
115118
) -> Union[EpiDataResponse, DataFrame]:
116119
"""Request and parse epidata in df message format."""
117120
if self.only_supports_classic:
118-
return self.classic(fields, disable_date_parsing=disable_date_parsing)
121+
return self.classic(fields, disable_date_parsing=disable_date_parsing, disable_type_parsing = False)
119122
return self.df(fields, disable_date_parsing=disable_date_parsing)
120123

121124
def df(
@@ -127,7 +130,7 @@ def df(
127130
if self.only_supports_classic:
128131
raise OnlySupportsClassicFormatException()
129132
self._verify_parameters()
130-
json = self.classic(fields, disable_date_parsing=disable_date_parsing)
133+
json = self.classic(fields, disable_type_parsing=True)
131134
rows = json.get("epidata", [])
132135
pred = fields_to_predicate(fields)
133136
columns: List[str] = [info.name for info in self.meta if pred(info.name)]

0 commit comments

Comments
 (0)