diff --git a/awips/gempak/GridInfoRetriever.py b/awips/gempak/GridInfoRetriever.py index af71e8a..abdb588 100644 --- a/awips/gempak/GridInfoRetriever.py +++ b/awips/gempak/GridInfoRetriever.py @@ -29,9 +29,17 @@ class GridInfoRetriever: req.setReftime(ct) req.setFcstsec(self.forecast) - + print(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")) grids = [] diff --git a/awips/gempak/GridNavRetriever.py b/awips/gempak/GridNavRetriever.py index c138d87..43c7f5a 100644 --- a/awips/gempak/GridNavRetriever.py +++ b/awips/gempak/GridNavRetriever.py @@ -158,6 +158,13 @@ class GridNavRetriever: req.setModelId(self.modelId) 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 = [] for record in resp: diff --git a/awips/gempak/StationDataRetriever.py b/awips/gempak/StationDataRetriever.py index 6b16d02..97b4d01 100644 --- a/awips/gempak/StationDataRetriever.py +++ b/awips/gempak/StationDataRetriever.py @@ -33,6 +33,14 @@ class StationDataRetriever: req.setParmList(self.parmList) req.setPartNumber(self.partNumber) 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 diff --git a/awips/gempak/StationRetriever.py b/awips/gempak/StationRetriever.py index 960e423..b18d1c2 100644 --- a/awips/gempak/StationRetriever.py +++ b/awips/gempak/StationRetriever.py @@ -20,6 +20,13 @@ class StationRetriever: req.setPluginName(self.pluginName) 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 = [] for item in resp: stationstr = '{:<8}'.format(item.getStationId()) diff --git a/awips/gempak/TimeRetriever.py b/awips/gempak/TimeRetriever.py index 5d7aff6..0df50cd 100644 --- a/awips/gempak/TimeRetriever.py +++ b/awips/gempak/TimeRetriever.py @@ -22,6 +22,14 @@ class TimeRetriever: req.setPluginName(self.pluginName) req.setTimeField(self.timeField) 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 = [] for item in resp.getTimes(): if isinstance(item, GregorianCalendar):