for now we decode dictionares inside the gempak python scripts

This commit is contained in:
Michael James 2018-10-30 11:11:21 -06:00
parent 9e97004e7d
commit 48d133a136
5 changed files with 39 additions and 1 deletions

View file

@ -29,9 +29,17 @@ class GridInfoRetriever:
req.setReftime(ct) req.setReftime(ct)
req.setFcstsec(self.forecast) req.setFcstsec(self.forecast)
print(req)
resp = self.client.sendRequest(req) resp = self.client.sendRequest(req)
# Take care of bytestring encodings in python3
for i, rec in enumerate(resp):
resp[i] = {
key.decode() if isinstance(key, bytes) else key:
val.decode() if isinstance(val, bytes) else val
for key, val in rec.items()
}
sortresp = sorted(sorted(resp, key=itemgetter("reftime"), reverse=True), key=itemgetter("fcstsec")) sortresp = sorted(sorted(resp, key=itemgetter("reftime"), reverse=True), key=itemgetter("fcstsec"))
grids = [] grids = []

View file

@ -158,6 +158,13 @@ class GridNavRetriever:
req.setModelId(self.modelId) req.setModelId(self.modelId)
resp = self.client.sendRequest(req) resp = self.client.sendRequest(req)
for i, rec in enumerate(resp):
resp[i] = {
key.decode() if isinstance(key, bytes) else key:
val.decode() if isinstance(val, bytes) else val
for key, val in rec.items()
}
nav = [] nav = []
for record in resp: for record in resp:

View file

@ -33,6 +33,14 @@ class StationDataRetriever:
req.setParmList(self.parmList) req.setParmList(self.parmList)
req.setPartNumber(self.partNumber) req.setPartNumber(self.partNumber)
resp = self.client.sendRequest(req) resp = self.client.sendRequest(req)
for i, rec in enumerate(resp):
resp[i] = {
key.decode() if isinstance(key, bytes) else key:
val.decode() if isinstance(val, bytes) else val
for key, val in rec.items()
}
return resp return resp

View file

@ -20,6 +20,13 @@ class StationRetriever:
req.setPluginName(self.pluginName) req.setPluginName(self.pluginName)
resp = self.client.sendRequest(req) resp = self.client.sendRequest(req)
for i, rec in enumerate(resp):
resp[i] = {
key.decode() if isinstance(key, bytes) else key:
val.decode() if isinstance(val, bytes) else val
for key, val in rec.items()
}
stns = [] stns = []
for item in resp: for item in resp:
stationstr = '{:<8}'.format(item.getStationId()) stationstr = '{:<8}'.format(item.getStationId())

View file

@ -22,6 +22,14 @@ class TimeRetriever:
req.setPluginName(self.pluginName) req.setPluginName(self.pluginName)
req.setTimeField(self.timeField) req.setTimeField(self.timeField)
resp = self.client.sendRequest(req) resp = self.client.sendRequest(req)
for i, rec in enumerate(resp):
resp[i] = {
key.decode() if isinstance(key, bytes) else key:
val.decode() if isinstance(val, bytes) else val
for key, val in rec.items()
}
timelist = [] timelist = []
for item in resp.getTimes(): for item in resp.getTimes():
if isinstance(item, GregorianCalendar): if isinstance(item, GregorianCalendar):