예제 #1
0
def check_collection_slug_used(creator_id, slug, ignore_c_id):
    filt = (Collection.actor == creator_id) \
        & (Collection.slug == slug)
    if ignore_c_id is not None:
        filt = filt & (Collection.id != ignore_c_id)
    does_exist = Session.query(Collection.id).filter(filt).first() is not None
    return does_exist
예제 #2
0
파일: util.py 프로젝트: praveen97uma/goblin
def check_collection_slug_used(creator_id, slug, ignore_c_id):
    filt = (Collection.creator == creator_id) \
        & (Collection.slug == slug)
    if ignore_c_id is not None:
        filt = filt & (Collection.id != ignore_c_id)
    does_exist = Session.query(Collection.id).filter(filt).first() is not None
    return does_exist
def check_media_slug_used(dummy_db, uploader_id, slug, ignore_m_id):
    filt = (MediaEntry.uploader == uploader_id) \
        & (MediaEntry.slug == slug)
    if ignore_m_id is not None:
        filt = filt & (MediaEntry.id != ignore_m_id)
    does_exist = Session.query(MediaEntry.id).filter(filt).first() is not None
    return does_exist
예제 #4
0
def clean_orphan_tags(commit=True):
    """Search for unused MediaTags and delete them"""
    q1 = Session.query(Tag).outerjoin(MediaTag).filter(MediaTag.id == None)
    for t in q1:
        Session.delete(t)
    # The "let the db do all the work" version:
    # q1 = Session.query(Tag.id).outerjoin(MediaTag).filter(MediaTag.id==None)
    # q2 = Session.query(Tag).filter(Tag.id.in_(q1))
    # q2.delete(synchronize_session = False)
    if commit:
        Session.commit()
예제 #5
0
파일: util.py 프로젝트: praveen97uma/goblin
def clean_orphan_tags(commit=True):
    """Search for unused MediaTags and delete them"""
    q1 = Session.query(Tag).outerjoin(MediaTag).filter(MediaTag.id==None)
    for t in q1:
        Session.delete(t)
    # The "let the db do all the work" version:
    # q1 = Session.query(Tag.id).outerjoin(MediaTag).filter(MediaTag.id==None)
    # q2 = Session.query(Tag).filter(Tag.id.in_(q1))
    # q2.delete(synchronize_session = False)
    if commit:
        Session.commit()
예제 #6
0
def get_all_blogposts_of_blog(request, blog, state=None):
    """Return all blog posts (and metadata) of a blog as query object"""
    # TODO: I would simply make this function a method of the Blog() class.

    # next line is just providing shortcuts
    MediaEntry, BlogPostData = request.db.MediaEntry, request.db.BlogPostData
    blog_posts = Session.query(MediaEntry).join(BlogPostData)\
	.filter(BlogPostData.blog == blog.id)
    if state is not None:
 	blog_posts = blog_posts.filter(MediaEntry.state==state)
    # we could return the metadata (blog_posts_meta) here too and save some queries later
    return blog_posts
예제 #7
0
def get_all_blogposts_of_blog(request, blog, state=None):
    """Return all blog posts (and metadata) of a blog as query object"""
    # TODO: I would simply make this function a method of the Blog() class.

    # next line is just providing shortcuts
    MediaEntry, BlogPostData = request.db.MediaEntry, request.db.BlogPostData
    blog_posts = Session.query(MediaEntry).join(BlogPostData)\
 .filter(BlogPostData.blog == blog.id)
    if state is not None:
        blog_posts = blog_posts.filter(MediaEntry.state == state)
    # we could return the metadata (blog_posts_meta) here too and save some queries later
    return blog_posts
예제 #8
0
    def media_data_init(self, **kwargs):
        """
        Initialize or update the contents of a media entry's media_data row
        """
        session = Session()

        media_data = session.query(
            self.media_data_table).filter_by(media_entry=self.id).first()

        # No media data, so actually add a new one
        if media_data is None:
            media_data = self.media_data_table(media_entry=self.id, **kwargs)
            session.add(media_data)
        # Update old media data
        else:
            for field, value in kwargs.iteritems():
                setattr(media_data, field, value)
    def media_data_init(self, **kwargs):
        """
        Initialize or update the contents of a media entry's media_data row
        """
        session = Session()

        media_data = session.query(self.media_data_table).filter_by(
            media_entry=self.id).first()

        # No media data, so actually add a new one
        if media_data is None:
            media_data = self.media_data_table(
                media_entry=self.id,
                **kwargs)
            session.add(media_data)
        # Update old media data
        else:
            for field, value in kwargs.iteritems():
                setattr(media_data, field, value)
예제 #10
0
 def get_all_blog_posts(self, state=None):
     blog_posts = Session.query(MediaEntry).join(BlogPostData)\
     .filter(BlogPostData.blog == self.id)
     if state is not None:
         blog_posts = blog_posts.filter(MediaEntry.state == state)
     return blog_posts
예제 #11
0
 def get_all_blog_posts(self, state=None):
     blog_posts = Session.query(MediaEntry).join(BlogPostData)\
     .filter(BlogPostData.blog == self.id)
     if state is not None:
         blog_posts = blog_posts.filter(MediaEntry.state==state)
     return blog_posts
    def media_data(self):
        session = Session()

        return session.query(self.media_data_table).filter_by(
            media_entry=self.id).first()