mirror of
https://github.com/Unidata/python-awips.git
synced 2025-02-23 22:57:56 -05:00
fixing attribute and unit encodings for python3 bytestrings
This commit is contained in:
parent
f51a590e51
commit
4ecb997c3e
2 changed files with 13 additions and 3 deletions
|
@ -66,9 +66,9 @@ class PyGeometryData(IGeometryData, PyData.PyData):
|
||||||
raise TypeError("Data for parameter " + param + " is not a numeric type.")
|
raise TypeError("Data for parameter " + param + " is not a numeric type.")
|
||||||
|
|
||||||
def getUnit(self, param):
|
def getUnit(self, param):
|
||||||
unit = self.__dataMap[param][2]
|
|
||||||
if six.PY2:
|
if six.PY2:
|
||||||
return unit
|
return self.__dataMap[param][2]
|
||||||
|
unit = self.__dataMap[param.encode('utf-8')][2]
|
||||||
if unit is not None:
|
if unit is not None:
|
||||||
return unit.decode('utf-8')
|
return unit.decode('utf-8')
|
||||||
return unit
|
return unit
|
||||||
|
|
|
@ -36,8 +36,18 @@ class AbstractResponseData(six.with_metaclass(abc.ABCMeta, object)):
|
||||||
if six.PY2:
|
if six.PY2:
|
||||||
return self.attributes
|
return self.attributes
|
||||||
else:
|
else:
|
||||||
return [item.decode('utf-8') for item in self.attributes]
|
return self.convert(self.attributes)
|
||||||
|
|
||||||
def setAttributes(self, attributes):
|
def setAttributes(self, attributes):
|
||||||
self.attributes = attributes
|
self.attributes = attributes
|
||||||
|
|
||||||
|
def convert(self, data):
|
||||||
|
if isinstance(data, dict):
|
||||||
|
return dict(map(self.convert, data.items()))
|
||||||
|
if isinstance(data, bytes):
|
||||||
|
return data.decode('utf-8')
|
||||||
|
if isinstance(data, tuple):
|
||||||
|
return tuple(map(self.convert, data))
|
||||||
|
if isinstance(data, list):
|
||||||
|
return list(map(self.convert, data))
|
||||||
|
return data
|
||||||
|
|
Loading…
Add table
Reference in a new issue