AlisisReportRow.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. import json
  4. from alipay.aop.api.constant.ParamConstants import *
  5. from alipay.aop.api.domain.AlisisReportColumn import AlisisReportColumn
  6. class AlisisReportRow(object):
  7. def __init__(self):
  8. self._row_data = None
  9. @property
  10. def row_data(self):
  11. return self._row_data
  12. @row_data.setter
  13. def row_data(self, value):
  14. if isinstance(value, list):
  15. self._row_data = list()
  16. for i in value:
  17. if isinstance(i, AlisisReportColumn):
  18. self._row_data.append(i)
  19. else:
  20. self._row_data.append(AlisisReportColumn.from_alipay_dict(i))
  21. def to_alipay_dict(self):
  22. params = dict()
  23. if self.row_data:
  24. if isinstance(self.row_data, list):
  25. for i in range(0, len(self.row_data)):
  26. element = self.row_data[i]
  27. if hasattr(element, 'to_alipay_dict'):
  28. self.row_data[i] = element.to_alipay_dict()
  29. if hasattr(self.row_data, 'to_alipay_dict'):
  30. params['row_data'] = self.row_data.to_alipay_dict()
  31. else:
  32. params['row_data'] = self.row_data
  33. return params
  34. @staticmethod
  35. def from_alipay_dict(d):
  36. if not d:
  37. return None
  38. o = AlisisReportRow()
  39. if 'row_data' in d:
  40. o.row_data = d['row_data']
  41. return o