def data(self): _ = {} fields = self.object_fields for (i,f) in fields.iteritems(): if f: value = getattr(self.context, i, None) value_type = None if hasattr(f, 'value_type'): value_type = f.value_type is_grid = isinstance(value_type, DictRow) if is_grid and isinstance(f, (schema.List, schema.Tuple)): value = [object_factory(**x) for x in value] __ = { 'name' : i, 'title' : f.title, 'value' : value, } _[i] = object_factory(**__) return object_factory(**_)
def data(self): _ = {} fields = self.object_fields for (i, f) in fields.iteritems(): if f: value = getattr(self.context, i, None) value_type = None if hasattr(f, 'value_type'): value_type = f.value_type is_grid = isinstance(value_type, DictRow) if is_grid and isinstance(f, (schema.List, schema.Tuple)): try: value = [object_factory(**x) for x in value] except: value = [] __ = { 'name': i, 'title': f.title, 'value': value, } _[i] = object_factory(**__) return object_factory(**_)
def upload_image(self): response = requests.put( "%s/api/upload" % self.API_URL, headers={'Content-Type': self.getContentType()}, data=self.image.data) if response.status_code in (200, ): return object_factory(**response.json()) return object_factory(error="HTTP Error %d" % response.status_code)
def __call__(self): _name = self.context.__name__ _tile_type = self.context.tile_type _id = self.context.id for (_label, _url) in self.links: yield object_factory( name=_name, tile_type=_tile_type, label=_label, url=_url, id=_id, )
def to_brain(self, config=[]): rv = [] for _ in config: # Present URL Key as SKU if no SKU for sorting/filtering purposes. __ = { 'Title': _.get('name', None), 'Description': _.get('description', None), 'getURL': _.get('url', None), 'thumbnail': _.get('thumbnail', None), 'hasLeadImage': not not _.get('thumbnail', None), 'sku': _.get('sku', _.get('url_key', None)), } rv.append(object_factory(**__)) rv.sort(key=lambda x: x.Title) if self.sku_order: rv.sort(key=self.sku_sort_key) return rv
def name_data(self): from agsci.common import object_factory names = dict([(x, getattr(self, x, '')) for x in self.name_fields]) names['title'] = self.title return object_factory(**names)
def tag_data(self): return [object_factory(key=x, value=x) for x in self.tags]