def dehydrate(self, bundle): format = self.determine_format(bundle.request) if format == 'text/csv': # separate location into lat and lon location = bundle.data['location'] del bundle.data['location'] bundle.data['latitude'] = location['coordinates'][1] bundle.data['longitude'] = location['coordinates'][0] for key,value in bundle.data.iteritems(): if isinstance(value, bool): bundle.data[key] = 1 if value else 0 else: bundle.data[key] = null_na.to_csv(value, null_na.DB_NA_VALUES, lambda value: ','.join(value) if isinstance(value, list) else value) return bundle
def render(self, name, value, attrs=None): value = to_csv(value, (DB_NA_POS_NUM,), lambda value: value) return super(PosNumNAWidget, self).render(name, value, attrs)
def render(self, name, value, attrs=None): value = to_csv(value, (DB_NA_STRING,), lambda value: value) return super(TextNAWidget, self).render(name, value, attrs)
def render(self, name, value, attrs=None): value = to_csv(value, (DB_NA_LIST,), lambda value: ', '.join(value) if isinstance(value, (list, tuple)) else value) return super(ListWidget, self).render(name, value, attrs)