def video(file_and_save=True, **kwargs): """Return a saved video. Requires a users fixture if no creator is provided. """ u = None if 'creator' not in kwargs: u = get_user() defaults = { 'title': 'Some title', 'description': 'Some description', 'creator': u } defaults.update(kwargs) vid = Video(**defaults) if not file_and_save: return vid if 'file' not in kwargs: with open('apps/gallery/tests/media/test.webm') as f: up_file = File(f) vid.webm.save(up_file.name, up_file, save=False) with open('apps/gallery/tests/media/test.ogv') as f: up_file = File(f) vid.ogv.save(up_file.name, up_file, save=False) with open('apps/gallery/tests/media/test.flv') as f: up_file = File(f) vid.flv.save(up_file.name, up_file, save=False) vid.save() return vid
def video(file_and_save=True, **kwargs): """Return a saved video.""" u = None if "creator" not in kwargs: u = user(save=True) defaults = {"title": "Some title", "description": "Some description", "creator": u} defaults.update(kwargs) vid = Video(**defaults) if not file_and_save: return vid if "file" not in kwargs: with open("apps/gallery/tests/media/test.webm") as f: up_file = File(f) vid.webm.save(up_file.name, up_file, save=False) with open("apps/gallery/tests/media/test.ogv") as f: up_file = File(f) vid.ogv.save(up_file.name, up_file, save=False) with open("apps/gallery/tests/media/test.flv") as f: up_file = File(f) vid.flv.save(up_file.name, up_file, save=False) vid.save() return vid
def video(file_and_save=True, **kwargs): """Return a saved video. Requires a users fixture if no creator is provided. """ u = None if 'creator' not in kwargs: u = get_user() defaults = {'title': 'Some title', 'description': 'Some description', 'creator': u} defaults.update(kwargs) vid = Video(**defaults) if not file_and_save: return vid if 'file' not in kwargs: with open('apps/gallery/tests/media/test.webm') as f: up_file = File(f) vid.webm.save(up_file.name, up_file, save=False) with open('apps/gallery/tests/media/test.ogv') as f: up_file = File(f) vid.ogv.save(up_file.name, up_file, save=False) with open('apps/gallery/tests/media/test.flv') as f: up_file = File(f) vid.flv.save(up_file.name, up_file, save=False) vid.save() return vid
def date(request, year, month, day, page=None): year = int(year) month = int(month) day = int(day) photo_set = Photo.for_date(year, month, day) video_set = Video.for_date(year, month, day) media_set = list(photo_set) + list(video_set) total = len(media_set) page, start, end, nb_pages = get_page(page, total) medias = media_set[start:end] total_pages = range(nb_pages) slug = "%s/date/%s/%s/%s/" % (G_URL, year, month, day) human_date = datetime.date(year, month, day).strftime("%A %d %B") params = { "year": year, "month": month, "day": day, "page": page, "slug": slug, "human_date": human_date, "nb_pages": nb_pages, "total_pages": total_pages, "medias": medias, } params.update(DEFAULT_PARAMS) return render_to_response("gallery/date.html", params, context_instance=RequestContext(request))
def recent(request, tag_name=None, page=None): tag = Tag.with_name(tag_name) if not tag: photo_set = Photo.recent() video_set = Video.recent() else: photo_set = tag.get_recent_photos() video_set = tag.get_recent_videos() media_set = list(photo_set) + list(video_set) total = len(media_set) page, start, end, nb_pages = get_page(page, total) medias = media_set[start:end] total_pages = range(nb_pages) slug = "/%s/recent/" % G_URL if tag_name: slug += "%s/" % tag_name params = { "tag": tag, "page": page, "slug": slug, "tag_name": tag_name, "nb_pages": nb_pages, "total_pages": total_pages, "medias": medias, } params.update(DEFAULT_PARAMS) return render_to_response("gallery/tag.html", params, context_instance=RequestContext(request))
def handle(self, *args, **options): with open('videos.csv', 'rb') as csvfile: videos = csv.reader(csvfile) for row in videos: link = row[0] if "youtube" not in link and "youtu.be" not in link and "vimeo" not in link: raise Exception("You can add only youtube and vimeo videos.") if "youtube" in link or "youtu.be" in link: if not youtube_video_id(link): raise Exception("Incorrect youtube link.") else: video_id = re.search(r'^((http|https)://)?(www\.)?(vimeo\.com/)?(\d+)', link).group(5) if not video_id: raise Exception("Incorrect vimeo link.") instance = Video(competition_id=row[1], status=1) if "youtube" in link or "youtu.be" in link: instance.kind = 1 instance.video_id = youtube_video_id(link) else: instance.kind = 2 instance.video_id = re.search(r'^((http|https)://)?(www\.)?(vimeo\.com/)?(\d+)', link).group(5) check = Video.objects.filter(video_id=instance.video_id) if not check: instance.save()
def create_video(files, user): """Given an uploaded file, a user, and other data, it creates a Video""" # Async uploads fallback to these defaults. title = get_draft_title(user) description = u'Autosaved draft.' # Use default locale to make sure a user can only have one draft locale = settings.WIKI_DEFAULT_LANGUAGE try: vid = Video.objects.get(title=title, locale=locale) except Video.DoesNotExist: vid = Video(title=title, creator=user, description=description, locale=locale) for name in files: up_file = files[name] check_file_size(up_file, settings.VIDEO_MAX_FILESIZE) # name is in (webm, ogv, flv) sent from upload_video(), below getattr(vid, name).save(up_file.name, up_file, save=False) if 'thumbnail' == name: # Save poster too, we shrink it later. vid.poster.save(up_file.name, up_file, save=False) vid.save() if 'thumbnail' in files: thumb = vid.thumbnail (width, height) = _scale_dimensions(thumb.width, thumb.height) else: width = settings.THUMBNAIL_PROGRESS_WIDTH height = settings.THUMBNAIL_PROGRESS_HEIGHT delete_url = reverse('gallery.delete_media', args=['video', vid.id]) return {'name': up_file.name, 'url': vid.get_absolute_url(), 'thumbnail_url': vid.thumbnail_url_if_set(), 'width': width, 'height': height, 'delete_url': delete_url}
def create_video(files, user): """Given an uploaded file, a user, and other data, it creates a Video""" try: vid = Video.objects.filter(creator=user, is_draft=True) # Delete other drafts, if any: vid.exclude(pk=vid[0].pk).delete() vid = vid[0] except IndexError: # No drafts, create one vid = Video(creator=user, is_draft=True) # Async uploads fallback to these defaults. vid.title = get_draft_title(user) vid.description = u'Autosaved draft.' vid.locale = settings.WIKI_DEFAULT_LANGUAGE for name in files: up_file = files[name] check_file_size(up_file, settings.VIDEO_MAX_FILESIZE) # name is in (webm, ogv, flv) sent from upload_video(), below getattr(vid, name).save(up_file.name, up_file, save=False) if 'thumbnail' == name: # Save poster too, we shrink it later. vid.poster.save(up_file.name, up_file, save=False) vid.save() if 'thumbnail' in files: thumb = vid.thumbnail (width, height) = _scale_dimensions(thumb.width, thumb.height) else: width = settings.THUMBNAIL_PROGRESS_WIDTH height = settings.THUMBNAIL_PROGRESS_HEIGHT delete_url = reverse('gallery.delete_media', args=['video', vid.id]) return { 'name': up_file.name, 'url': vid.get_absolute_url(), 'thumbnail_url': vid.thumbnail_url_if_set(), 'width': width, 'height': height, 'delete_url': delete_url }
def create_video(files, user): """Given an uploaded file, a user, and other data, it creates a Video""" try: vid = Video.objects.filter(creator=user, is_draft=True) # Delete other drafts, if any: vid.exclude(pk=vid[0].pk).delete() vid = vid[0] except IndexError: # No drafts, create one vid = Video(creator=user, is_draft=True) # Async uploads fallback to these defaults. vid.title = get_draft_title(user) vid.description = u'Autosaved draft.' vid.locale = settings.WIKI_DEFAULT_LANGUAGE for name in files: up_file = files[name] check_file_size(up_file, settings.VIDEO_MAX_FILESIZE) # name is in (webm, ogv, flv) sent from upload_video(), below getattr(vid, name).save(up_file.name, up_file, save=False) if 'thumbnail' == name: # Save poster too, we shrink it later. vid.poster.save(up_file.name, up_file, save=False) vid.save() if 'thumbnail' in files: thumb = vid.thumbnail (width, height) = _scale_dimensions(thumb.width, thumb.height) else: width = settings.THUMBNAIL_PROGRESS_WIDTH height = settings.THUMBNAIL_PROGRESS_HEIGHT delete_url = reverse('gallery.delete_media', args=['video', vid.id]) return {'name': up_file.name, 'url': vid.get_absolute_url(), 'thumbnail_url': vid.thumbnail_url_if_set(), 'width': width, 'height': height, 'delete_url': delete_url}