def ranked_post_details(number_of_posts=None): db_posts = Post.select().where(Post.hidden == 0) post_details = [fields.marshal(post, post_fields) for post in db_posts] if number_of_posts: return post_details[number_of_posts:] else: return post_details
def output(self, key, obj): # Copied from upstream NestedField value = base_fields.get_value( key if self.attribute is None else self.attribute, obj) if value is None: if self.allow_null: return None elif self.default is not None: return self.default # Handle mappings if not hasattr(value, '__class__'): raise ValueError('Polymorph field only accept class instances') candidates = [ fields for cls, fields in iteritems(self.mapping) if isinstance(value, cls) ] if len(candidates) <= 0: raise ValueError('Unknown class: ' + value.__class__.__name__) elif len(candidates) > 1: raise ValueError('Unable to determine a candidate for: ' + value.__class__.__name__) else: return base_fields.marshal(value, candidates[0].resolved)
def output(self, key, obj): if not obj or not obj.HasField(key): value = None else: value = fields.get_value(key if self.attribute is None else self.attribute, obj) if self.allow_null and value is None: return None return fields.marshal(value, self.nested, self.display_null)
def output(self, key, obj): # Copied from upstream NestedField value = base_fields.get_value(key if self.attribute is None else self.attribute, obj) if value is None: if self.allow_null: return None elif self.default is not None: return self.default # Handle mappings if not hasattr(value, '__class__'): raise ValueError('Polymorph field only accept class instances') candidates = [fields for cls, fields in iteritems(self.mapping) if isinstance(value, cls)] if len(candidates) <= 0: raise ValueError('Unknown class: ' + value.__class__.__name__) elif len(candidates) > 1: raise ValueError('Unable to determine a candidate for: ' + value.__class__.__name__) else: return base_fields.marshal(value, candidates[0].resolved)
def get(self, pk): post = db_mods.find_post(pk) return fields.marshal(post, db_mods.post_fields)