def retrieve(request): video_id = request.GET.get('video_id', None) video = helper.get_video(video_id) if not video: return HttpResponse(json.dumps({'status': 'FAIL'})) subtitles = helper.get_subtitles(video) response = { 'code': video.code, 'title': video.title, 'subtitles': subtitles, } return HttpResponse(json.dumps({'status': 'OKAY', 'response': response}))
def edit(request, video_id): if not request.user.is_authenticated(): return redirect('/') dictt = {} dictt.update(csrf(request)) video = helper.get_video(video_id) dictt['video'] = { 'id': video.id, 'code': video.code, 'title': video.title, } if 'upload-subt-error' in request.session: dictt['err_msg'] = error.upload_subt_msg(request.session['upload-subt-error']) del request.session['upload-subt-error'] return render_to_response('edit.html', dictt)
def upload_subt(request): if request.method != 'POST' or not request.user.is_authenticated(): return redirect('/') video_id = request.POST.get('video-id', None) if 'subt-file' not in request.FILES: request.session['upload-subt-error'] = error.upload_subt_code('no-file') return redirect('/edit/' + video_id) subt_file = request.FILES['subt-file'] subt_str = subt_file.read() try: subt_str = subt_str.decode('utf8') except: try: subt_str = subt_str.decode('big5') except: request.session['upload-subt-error'] = error.upload_subt_code('bad-encoding') return redirect('/edit/' + video_id) video = helper.get_video(video_id) helper.put_subtitles(video, subt_str) return redirect('/edit/' + video_id)