def video(request, video_id, video_url=None, title=None): video = get_object_or_404(Video, video_id=video_id) if video_url: video_url = get_object_or_404(VideoUrl, pk=video_url) if not video_url and ((video.title_for_url() and not video.title_for_url() == title) or (not video.title and title)): return redirect(video, permanent=True) video.update_view_counter() # TODO: make this more pythonic, prob using kwargs context = widget.add_onsite_js_files({}) context['video'] = video original = video.subtitle_language() if original: original.pending_moderation_count = get_pending_count(video.subtitle_language()) context['autosub'] = 'true' if request.GET.get('autosub', False) else 'false' translations = list(video.subtitlelanguage_set.filter(had_version=True) \ .filter(is_original=False).select_related('video')) translations.sort(key=lambda f: f.get_language_display()) context['translations'] = translations context["user_can_moderate"] = user_can_moderate(video, request.user) if context["user_can_moderate"]: # FIXME: use amore efficient count for l in translations: l.pending_moderation_count = get_pending_count(l) context['widget_params'] = _widget_params(request, video, language=None, video_url=video_url and video_url.effective_url) _add_share_panel_context_for_video(context, video) context['lang_count'] = video.subtitlelanguage_set.filter(has_version=True).count() context['original'] = video.subtitle_language() return render_to_response('videos/video.html', context, context_instance=RequestContext(request))
def video(request, video_id, video_url=None, title=None): video = get_object_or_404(Video, video_id=video_id) if video_url: video_url = get_object_or_404(VideoUrl, pk=video_url) if (video.title and not video.title_for_url() == title) or (not video.title and title): return redirect(video, permanent=True) video.update_view_counter() # TODO: make this more pythonic, prob using kwargs context = widget.add_onsite_js_files({}) context['video'] = video context['site'] = Site.objects.get_current() context['autosub'] = 'true' if request.GET.get('autosub', False) else 'false' translations = list(video.subtitlelanguage_set.filter(had_version=True) \ .filter(is_original=False).select_related('video')) translations.sort(key=lambda f: f.get_language_display()) context['translations'] = translations context['widget_params'] = _widget_params(request, video, None, '') _add_share_panel_context_for_video(context, video) context['lang_count'] = video.subtitlelanguage_set.filter( has_version=True).count() context['original'] = video.subtitle_language() return render_to_response('videos/video.html', context, context_instance=RequestContext(request))
def video(request, video_id, video_url=None, title=None): video = get_object_or_404(Video, video_id=video_id) if video_url: video_url = get_object_or_404(VideoUrl, pk=video_url) if (video.title and not video.title_for_url() == title) or (not video.title and title): return redirect(video, permanent=True) video.update_view_counter() # TODO: make this more pythonic, prob using kwargs context = widget.add_onsite_js_files({}) context['video'] = video context['site'] = Site.objects.get_current() context['autosub'] = 'true' if request.GET.get('autosub', False) else 'false' translations = list(video.subtitlelanguage_set.filter(had_version=True) \ .filter(is_original=False).select_related('video')) translations.sort(key=lambda f: f.get_language_display()) context['translations'] = translations context['widget_params'] = _widget_params(request, video, None, '') _add_share_panel_context_for_video(context, video) context['lang_count'] = video.subtitlelanguage_set.filter(has_version=True).count() context['original'] = video.subtitle_language() return render_to_response('videos/video.html', context, context_instance=RequestContext(request))
def video(request, video_id): video = get_object_or_404(Video, video_id=video_id) video.view_count += 1 video.save() # TODO: make this more pythonic, prob using kwargs context = widget.add_onsite_js_files({}) context['video'] = video context['site'] = Site.objects.get_current() context['autosub'] = 'true' if request.GET.get('autosub', False) else 'false' context['translations'] = video.subtitlelanguage_set.filter(was_complete=True) \ .filter(is_original=False) context['widget_params'] = _widget_params(request, video.get_video_url(), None, '') _add_share_panel_context_for_video(context, video) context['lang_count'] = video.subtitlelanguage_set.filter(is_complete=True).count() context['original'] = video.subtitle_language() return render_to_response('videos/video.html', context, context_instance=RequestContext(request))
def video(request, video_id, video_url=None, title=None): video = get_object_or_404(Video, video_id=video_id) if video_url: video_url = get_object_or_404(VideoUrl, pk=video_url) if not video_url and ( (video.title_for_url() and not video.title_for_url() == title) or (not video.title and title)): return redirect(video, permanent=True) video.update_view_counter() # TODO: make this more pythonic, prob using kwargs context = widget.add_onsite_js_files({}) context['video'] = video original = video.subtitle_language() if original: original.pending_moderation_count = get_pending_count( video.subtitle_language()) context['autosub'] = 'true' if request.GET.get('autosub', False) else 'false' translations = list(video.subtitlelanguage_set.filter(had_version=True) \ .filter(is_original=False).select_related('video')) translations.sort(key=lambda f: f.get_language_display()) context['translations'] = translations context["user_can_moderate"] = user_can_moderate(video, request.user) if context["user_can_moderate"]: # FIXME: use amore efficient count for l in translations: l.pending_moderation_count = get_pending_count(l) context['widget_params'] = _widget_params(request, video, language=None, video_url=video_url and video_url.effective_url) _add_share_panel_context_for_video(context, video) context['lang_count'] = video.subtitlelanguage_set.filter( has_version=True).count() context['original'] = video.subtitle_language() return render_to_response('videos/video.html', context, context_instance=RequestContext(request))
def video(request, video, video_url=None, title=None): """ If user is about to perform a task on this video, then t=[task.pk] will be passed to as a url parameter. """ if video_url: video_url = get_object_or_404(VideoUrl, pk=video_url) if not video_url and ( (video.title_for_url() and not video.title_for_url() == title) or (not video.title and title)): return redirect(video, permanent=True) video.update_view_counter() # TODO: make this more pythonic, prob using kwargs context = widget.add_onsite_js_files({}) context['video'] = video context['autosub'] = 'true' if request.GET.get('autosub', False) else 'false' context['translations'] = _get_translations(video) context[ 'shows_widget_sharing'] = VideoVisibilityPolicy.objects.can_show_widget( video, request.META.get('HTTP_REFERER', '')) context['widget_params'] = _widget_params(request, video, language=None, video_url=video_url and video_url.effective_url, size=(620, 370)) _add_share_panel_context_for_video(context, video) context['lang_count'] = video.subtitlelanguage_set.filter( has_version=True).count() context['original'] = video.subtitle_language() context['task'] = _get_related_task(request) return render_to_response('videos/video-view.html', context, context_instance=RequestContext(request))
def video(request, video_id, video_url=None, title=None): video = get_object_or_404(Video, video_id=video_id) if video_url: video_url = get_object_or_404(VideoUrl, pk=video_url) if (video.title and not video.title_for_url() == title) or (not video.title and title): return redirect(video, permanent=True) video.update_view_counter() # TODO: make this more pythonic, prob using kwargs context = widget.add_onsite_js_files({}) context["video"] = video context["site"] = Site.objects.get_current() context["autosub"] = "true" if request.GET.get("autosub", False) else "false" translations = list(video.subtitlelanguage_set.filter(was_complete=True).filter(is_original=False)) translations.sort(key=lambda f: f.get_language_display()) context["translations"] = translations context["widget_params"] = _widget_params(request, video, None, "") _add_share_panel_context_for_video(context, video) context["lang_count"] = video.subtitlelanguage_set.filter(is_complete=True).count() context["original"] = video.subtitle_language() return render_to_response("videos/video.html", context, context_instance=RequestContext(request))