from mediacore.lib.i18n import _ from mediacore.lib.storage import add_new_media_file from mediacore.lib.templating import render from mediacore.lib.thumbnails import thumb_path, thumb_paths, create_thumbs_for, create_default_thumbs_for, has_thumbs, has_default_thumbs from mediacore.model import Author, Category, Media, Podcast, Tag, fetch_row, get_available_slug from mediacore.model.meta import DBSession from mediacore.plugin import events import logging log = logging.getLogger(__name__) media_form = MediaForm() add_file_form = AddFileForm() edit_file_form = EditFileForm() thumb_form = ThumbForm() update_status_form = UpdateStatusForm() search_form = SearchForm(action=url_for(controller='/admin/media', action='index')) class MediaController(BaseController): allow_only = has_permission('edit') @expose_xhr('admin/media/index.html', 'admin/media/index-table.html') @paginate('media', items_per_page=15) @observable(events.Admin.MediaController.index) def index(self, page=1, search=None, filter=None, podcast=None, category=None, tag=None, **kwargs): """List media with pagination and filtering. :param page: Page number, defaults to 1. :type page: int :param search: Optional search term to filter by
from mediacore.lib.base import BaseController from mediacore.lib.decorators import expose, expose_xhr, paginate, validate from mediacore.lib.filetypes import guess_container_format, guess_media_type, parse_embed_url from mediacore.lib.helpers import redirect, url_for from mediacore.model import Author, Category, Media, MediaFile, Podcast, Tag, fetch_row, get_available_slug from mediacore.model.media import create_media_stub from mediacore.model.meta import DBSession import logging log = logging.getLogger(__name__) media_form = MediaForm() add_file_form = AddFileForm() edit_file_form = EditFileForm() thumb_form = ThumbForm() update_status_form = UpdateStatusForm() search_form = SearchForm(action=url_for(controller='/admin/media', action='index')) podcast_filter_form = PodcastFilterForm(action=url_for(controller='/admin/media', action='index')) class MediaController(BaseController): allow_only = has_permission('admin') @expose_xhr('admin/media/index.html', 'admin/media/index-table.html') @paginate('media', items_per_page=25) def index(self, page=1, search=None, podcast_filter=None, **kwargs): """List media with pagination and filtering. :param page: Page number, defaults to 1. :type page: int :param search: Optional search term to filter by :type search: unicode or None