def page(cls, datatable, **options): params = {'id': str(datatable.code)} path = Util.constructed_path(datatable.default_path(), params) r = Connection.request('get', path, **options) response_data = r.json() Util.convert_to_dates(response_data) resource = cls.create_datatable_list_from_response(response_data) return resource
def all(cls, **options): if 'params' not in options: options['params'] = {} path = Util.constructed_path(cls.list_path(), options['params']) r = Connection.request('get', path, **options) response_data = r.json() Util.convert_to_dates(response_data) resource = cls.create_list_from_response(response_data) return resource
def __get_raw_data__(self): if self._raw_data: return self._raw_data cls = self.__class__ params = {'id': str(self.code)} options = Util.merge_options('params', params, **self.options) path = Util.constructed_path(cls.get_path(), options['params']) r = Connection.request('get', path, **options) response_data = r.json() Util.convert_to_dates(response_data) self._raw_data = response_data[singularize(cls.lookup_key())] return self._raw_data
def test_convert_to_dates(self): d = '2015-04-09' dt = '2015-07-24T02:39:40.624Z' dic = {'foo': d, d: {'bar': dt}} result = Util.convert_to_dates(dic) self.assertIsInstance(result['foo'], datetime.date) self.assertIsInstance(result[d]['bar'], datetime.datetime)
def __init__(self, data, **options): self.meta = options['meta'] self._raw_data = Util.convert_to_dates(data) # Optimization for when a list of data points are created from a # dataset (via the model_list class) if 'converted_column_names' in options.keys(): self._converted_column_names = options['converted_column_names']