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
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
def __init__(self): if self.author is None: self.author = Author()