13
13
class MISOClient (BaseClient ):
14
14
NAME = 'MISO'
15
15
16
- base_url = 'https://www.misoenergy.org'
16
+ base_url = 'https://api.misoenergy.org/MISORTWDDataBroker/DataBrokerServices.asmx'
17
+ docs_url = 'https://docs.misoenergy.org/marketreports/'
17
18
18
19
fuels = {
19
20
'Coal' : 'coal' ,
@@ -95,7 +96,7 @@ def get_trade(self, latest=False, **kwargs):
95
96
96
97
def get_latest_fuel_mix (self ):
97
98
# set up request
98
- url = self .base_url + '/ria/FuelMix.aspx?CSV=True '
99
+ url = self .base_url + '?messageType=getfuelmix&returnType=csv '
99
100
100
101
# carry out request
101
102
response = self .request (url )
@@ -116,7 +117,7 @@ def parse_latest_fuel_mix(self, content):
116
117
return pd .DataFrame ()
117
118
118
119
# preliminary parsing
119
- df = pd .read_csv (BytesIO (content ), header = 0 , index_col = 0 , parse_dates = True )
120
+ df = pd .read_csv (BytesIO (content ), header = 0 , index_col = 0 , skiprows = 2 , parse_dates = True )
120
121
121
122
# set index
122
123
try :
@@ -144,7 +145,7 @@ def handle_forecast(self):
144
145
def fetch_forecast (self , date ):
145
146
# construct url
146
147
datestr = date .strftime ('%Y%m%d' )
147
- url = self .base_url + '/Library/Repository/Market%20Reports/' + datestr + '_da_ex.xls'
148
+ url = self .docs_url + datestr + '_da_ex.xls'
148
149
149
150
# make request with self.request for easier debugging, mocking
150
151
response = self .request (url )
0 commit comments