def read(self, tag_id): """ Given a tag_id, return the corresponding Tag database entity. Fails if one doesn't exist. :param tag_id: :return: """ existing_tag = Tag.query.filter(Tag.id == tag_id).first() if existing_tag is None: raise DatabaseItemDoesNotExist('No tag with id {0}'.format(tag_id)) return existing_tag
def read(self, type_id): """ Return a type by its id. :param type_id: :return: """ existing_type = Type.query.filter(Type.id == type_id).first() if existing_type is None: raise DatabaseItemDoesNotExist( 'No type with id {0}'.format(type_id)) return existing_type
def read(self, post_id): """ Get a post by ID :param post_id: :return: """ existing_post = Post.query.filter(Post.id == post_id).first() if existing_post is None: raise DatabaseItemDoesNotExist( 'No post with id {0}'.format(post_id)) return existing_post
def get_by_user(self, user_name): """ Get a user by its user_name :param user_name: :return: """ existing_user = User.query.filter(User.username == user_name).first() if existing_user is None: raise DatabaseItemDoesNotExist( 'No user called {0}'.format(user_name)) return existing_user
def read(self, user_id): """ Return a user by its id. :param user_id: :return: """ existing_user = User.query.filter(User.id == user_id).first() if existing_user is None: raise DatabaseItemDoesNotExist( 'No user with id {0}'.format(user_id)) return existing_user
def get_by_tag(self, tag_name): """ Get a tag object by its .tag attribute (exact match) :param tag: :return: """ existing_tag = Tag.query.filter(Tag.tag == tag_name).first() if existing_tag is None: raise DatabaseItemDoesNotExist( 'No tag called {0}'.format(tag_name)) else: return existing_tag
def paginate(self, page=None): if page: pages = Post.query.filter( and_(Post.is_deleted == 0, Post.is_visible == 1)).paginate(page=page, error_out=False) else: pages = Post.query.filter( and_(Post.is_deleted == 0, Post.is_visible == 1)).paginate(page=1, error_out=False) if pages is not None: return pages else: raise DatabaseItemDoesNotExist('No more posts.')
def get_by_type(self, type_name): existing_type = Type.query.filter(Type.type == type_name).first() if existing_type is None: raise DatabaseItemDoesNotExist( 'No type called {0}'.format(type_name)) return existing_type
def by_slug(self, post_slug): existing_post = Post.query.filter(Post.slug == post_slug).first() if existing_post is None: raise DatabaseItemDoesNotExist( 'No post with slug {0}'.format(post_slug)) return existing_post
def by_title(self, post_title): existing_post = Post.query.filter(Post.title == post_title).first() if existing_post is None: raise DatabaseItemDoesNotExist( 'No post with title {0}'.format(post_title)) return existing_post