本文整理匯總了Python中mediadrop.model.Media.author方法的典型用法代碼示例。如果您正苦於以下問題:Python Media.author方法的具體用法?Python Media.author怎麽用?Python Media.author使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類mediadrop.model.Media
的用法示例。
在下文中一共展示了Media.author方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。
示例1: save_media_obj
# 需要導入模塊: from mediadrop.model import Media [as 別名]
# 或者: from mediadrop.model.Media import author [as 別名]
def save_media_obj(self, name, email, title, description, tags, uploaded_file, url):
# create our media object as a status-less placeholder initially
media_obj = Media()
media_obj.author = Author(name, email)
media_obj.title = title
media_obj.slug = get_available_slug(Media, title)
media_obj.description = description
if request.settings['wording_display_administrative_notes']:
media_obj.notes = request.settings['wording_administrative_notes']
media_obj.set_tags(tags)
# Give the Media object an ID.
DBSession.add(media_obj)
DBSession.flush()
# Create a MediaFile object, add it to the media_obj, and store the file permanently.
media_file = add_new_media_file(media_obj, file=uploaded_file, url=url)
# The thumbs may have been created already by add_new_media_file
if not has_thumbs(media_obj):
create_default_thumbs_for(media_obj)
media_obj.update_status()
DBSession.flush()
return media_obj
示例2: _new_publishable_media
# 需要導入模塊: from mediadrop.model import Media [as 別名]
# 或者: from mediadrop.model.Media import author [as 別名]
def _new_publishable_media(self, slug, name):
from datetime import datetime
from mediadrop.model import Author, Media
media = Media()
media.slug = slug
media.title = name
media.subtitle = None
media.description = u"""<p>Description</p>"""
media.description_plain = u"""Description"""
media.author = Author(u'fake name', u'[email protected]')
media.publish_on = datetime.now()
media.publishable = True
media.reviewed = True
media.encoded = False
media.type = None
return media
示例3: save_thumb
# 需要導入模塊: from mediadrop.model import Media [as 別名]
# 或者: from mediadrop.model.Media import author [as 別名]
def save_thumb(self, id, thumb, **kwargs):
"""Save a thumbnail uploaded with :class:`~mediadrop.forms.admin.ThumbForm`.
:param id: Media ID. If ``"new"`` a new Media stub is created.
:type id: ``int`` or ``"new"``
:param file: The uploaded file
:type file: :class:`cgi.FieldStorage` or ``None``
:rtype: JSON dict
:returns:
success
bool
message
Error message, if unsuccessful
id
The :attr:`~mediadrop.model.media.Media.id` which is
important if a new media has just been created.
"""
if id == 'new':
media = Media()
user = request.perm.user
media.author = Author(user.display_name, user.email_address)
media.title = os.path.basename(thumb.filename)
media.slug = get_available_slug(Media, '_stub_' + media.title)
DBSession.add(media)
DBSession.flush()
else:
media = fetch_row(Media, id)
try:
# Create JPEG thumbs
create_thumbs_for(media, thumb.file, thumb.filename)
success = True
message = None
except IOError, e:
success = False
if id == 'new':
DBSession.delete(media)
if e.errno == 13:
message = _('Permission denied, cannot write file')
elif e.message == 'cannot identify image file':
message = _('Unsupported image type: %s') \
% os.path.splitext(thumb.filename)[1].lstrip('.')
elif e.message == 'cannot read interlaced PNG files':
message = _('Interlaced PNGs are not supported.')
else:
raise
示例4: add_file
# 需要導入模塊: from mediadrop.model import Media [as 別名]
# 或者: from mediadrop.model.Media import author [as 別名]
def add_file(self, id, file=None, url=None, **kwargs):
"""Save action for the :class:`~mediadrop.forms.admin.media.AddFileForm`.
Creates a new :class:`~mediadrop.model.media.MediaFile` from the
uploaded file or the local or remote URL.
:param id: Media ID. If ``"new"`` a new Media stub is created.
:type id: :class:`int` or ``"new"``
:param file: The uploaded file
:type file: :class:`cgi.FieldStorage` or ``None``
:param url: A URL to a recognizable audio or video file
:type url: :class:`unicode` or ``None``
:rtype: JSON dict
:returns:
success
bool
message
Error message, if unsuccessful
media_id
The :attr:`~mediadrop.model.media.Media.id` which is
important if new media has just been created.
file_id
The :attr:`~mediadrop.model.media.MediaFile.id` for the newly
created file.
edit_form
The rendered XHTML :class:`~mediadrop.forms.admin.media.EditFileForm`
for this file.
status_form
The rendered XHTML :class:`~mediadrop.forms.admin.media.UpdateStatusForm`
"""
if id == 'new':
media = Media()
user = request.perm.user
media.author = Author(user.display_name, user.email_address)
# Create a temp stub until we can set it to something meaningful
timestamp = datetime.now().strftime('%Y-%m-%d %H:%M:%S')
media.title = u'Temporary stub %s' % timestamp
media.slug = get_available_slug(Media, '_stub_' + timestamp)
media.reviewed = True
DBSession.add(media)
DBSession.flush()
else:
media = fetch_row(Media, id)
try:
media_file = add_new_media_file(media, file, url)
except UserStorageError as e:
return dict(success=False, message=e.message)
if media.slug.startswith('_stub_'):
media.title = media_file.display_name
media.slug = get_available_slug(Media, '_stub_' + media.title)
# The thumbs may have been created already by add_new_media_file
if id == 'new' and not has_thumbs(media):
create_default_thumbs_for(media)
media.update_status()
# Render some widgets so the XHTML can be injected into the page
edit_form_xhtml = unicode(edit_file_form.display(
action=url_for(action='edit_file', id=media.id),
file=media_file))
status_form_xhtml = unicode(update_status_form.display(
action=url_for(action='update_status', id=media.id),
media=media))
data = dict(
success = True,
media_id = media.id,
file_id = media_file.id,
file_type = media_file.type,
edit_form = edit_form_xhtml,
status_form = status_form_xhtml,
title = media.title,
slug = media.slug,
description = media.description,
link = url_for(action='edit', id=media.id),
duration = helpers.duration_from_seconds(media.duration),
)
return data
示例5: add_default_data
# 需要導入模塊: from mediadrop.model import Media [as 別名]
# 或者: from mediadrop.model.Media import author [as 別名]
#.........這裏部分代碼省略.........
description=u'Grants access to edit site content')
DBSession.add(edit_perm)
view_perm = Permission(name=u'view',
groups=[admin_group, anonymous_group, editor_group],
description=u'View published media')
DBSession.add(view_perm)
upload_perm = Permission(name=u'upload',
groups=[admin_group, anonymous_group, editor_group],
description=u'Can upload new media')
DBSession.add(upload_perm)
media_upload_perm = Permission()
media_upload_perm.permission_name = u'MEDIA_UPLOAD'
media_upload_perm.description = u'Grants the ability to upload new media'
media_upload_perm.groups.append(admin_group)
media_upload_perm.groups.append(editor_group)
media_upload_perm.groups.append(anonymous_group)
DBSession.add(edit_perm)
category = Category(name=u'Featured', slug=u'featured')
DBSession.add(category)
category2 = Category(name=u'Instructional', slug=u'instructional')
DBSession.add(category2)
podcast = Podcast()
podcast.slug = u'hello-world'
podcast.title = u'Hello World'
podcast.subtitle = u'My very first podcast!'
podcast.description = u"""<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>"""
podcast.category = u'Technology'
podcast.author = Author(admin_user.display_name, admin_user.email_address)
podcast.explicit = None
podcast.copyright = u'Copyright 2009 Xyz'
podcast.itunes_url = None
podcast.feedburner_url = None
DBSession.add(podcast)
comment = Comment()
comment.subject = u'Re: New Media'
comment.author = AuthorWithIP(name=u'John Doe', ip=2130706433)
comment.body = u'<p>Hello to you too!</p>'
DBSession.add(comment)
media = Media()
media.type = None
media.slug = u'new-media'
media.reviewed = True
media.encoded = False
media.publishable = False
media.title = u'New Media'
media.subtitle = None
media.description = u"""<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>"""
media.description_plain = u"""Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."""
media.author = Author(admin_user.display_name, admin_user.email_address)
media.categories.append(category)
media.comments.append(comment)
DBSession.add(media)
#XXX The list of default players is actually defined in model.players
# and should at some point be moved here to avoid inconsistency
# between the default storage engines and default players.
remote_url_storage = RemoteURLStorage()
default_engines = [