def update(self, params, hide=False): ''' Updates parameters ''' for key,value in params.iteritems(): if isinstance(value, Exception): self.__errors[key] = unicode(value) elif isinstance(key, Parameter): self[key.alias] = value self.validated[key.name] = value if is_serializable(value) else unicode(value) else: self[key] = value if not hide: self.validated[key] = value if is_serializable(value) else unicode(value)
def __serialize(self, x): ''' Converts to JSON-serializable object ''' if is_serializable(x): return x elif is_geo_value(x): return json.loads(x.geojson) elif is_relatedmanager(x) or is_manyrelatedmanager(x): return [unicode(i) for i in x.all()] return unicode(x)
def set_validated_value(self, name, value): if is_serializable(value): self.validated[name] = value else: self.validated[name] = unicode(value)