mirror of
https://github.com/Unidata/python-awips.git
synced 2025-02-23 14: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.")
|
||||
|
||||
def getUnit(self, param):
|
||||
unit = self.__dataMap[param][2]
|
||||
if six.PY2:
|
||||
return unit
|
||||
return self.__dataMap[param][2]
|
||||
unit = self.__dataMap[param.encode('utf-8')][2]
|
||||
if unit is not None:
|
||||
return unit.decode('utf-8')
|
||||
return unit
|
||||
|
|
|
@ -36,8 +36,18 @@ class AbstractResponseData(six.with_metaclass(abc.ABCMeta, object)):
|
|||
if six.PY2:
|
||||
return self.attributes
|
||||
else:
|
||||
return [item.decode('utf-8') for item in self.attributes]
|
||||
return self.convert(self.attributes)
|
||||
|
||||
def setAttributes(self, 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