@@ -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