コード例 #1
0
 def example(cls, **kwargs):
     media = Media()
     defaults = dict(
         title=u'Foo Media',
         author=Author(u'Joe', u'*****@*****.**'),
         type = None,
     )
     defaults.update(kwargs)
     defaults.setdefault('slug', get_available_slug(Media, defaults['title']))
     for key, value in defaults.items():
         assert hasattr(media, key)
         setattr(media, key, value)
     DBSession.add(media)
     DBSession.flush()
     return media
コード例 #2
0
    def save(self,
             name,
             email,
             title,
             description,
             tags,
             uploaded_file,
             url,
             publish=False):
        # Update media object metadata
        self.author = Author(name, email)
        self.title = title
        self.slug = get_available_slug(Media, title)
        self.description = description
        self.set_tags(tags)

        # Give the Media object an ID.
        DBSession.add(self)
        DBSession.flush()

        # Create a MediaFile object, add it to the media_obj, and store the file permanently.
        media_file = add_new_media_file(self, file=uploaded_file, url=url)

        # The thumbs may have been created already by add_new_media_file
        if not has_thumbs(self):
            create_default_thumbs_for(self)

        self.update_status()

        ## Save to database
        DBSession.add(self)
        DBSession.commit()

        ## Optional publish
        if publish:
            self.reviewed = True
            self.publishable = True
            self.publish_on = datetime.now()
            self.update_popularity()
            self.update_status()
            DBSession.add(self)
            DBSession.commit()

        return self
コード例 #3
0
 def __init__(self):
     if self.author is None:
         self.author = Author()