simplify stream lookup
This commit is contained in:
parent
7168617dd7
commit
becb3f7781
1 changed files with 10 additions and 9 deletions
|
@ -2,7 +2,7 @@
|
||||||
# vi:si:et:sw=4:sts=4:ts=4
|
# vi:si:et:sw=4:sts=4:ts=4
|
||||||
from __future__ import division
|
from __future__ import division
|
||||||
import os.path
|
import os.path
|
||||||
from datetime import datetime
|
from datetime import datetime, timedelta
|
||||||
import mimetypes
|
import mimetypes
|
||||||
|
|
||||||
from django.db.models import Count, Sum, Max
|
from django.db.models import Count, Sum, Max
|
||||||
|
@ -22,7 +22,7 @@ import models
|
||||||
import utils
|
import utils
|
||||||
import tasks
|
import tasks
|
||||||
|
|
||||||
from archive.models import File
|
from archive.models import File, Stream
|
||||||
from archive import extract
|
from archive import extract
|
||||||
from annotation.models import Annotation
|
from annotation.models import Annotation
|
||||||
|
|
||||||
|
@ -658,14 +658,13 @@ def video(request, id, resolution, format, index=None):
|
||||||
index = int(index) - 1
|
index = int(index) - 1
|
||||||
else:
|
else:
|
||||||
index = 0
|
index = 0
|
||||||
videos = item.main_videos()
|
streams= Stream.objects.filter(file__item__itemId=item.itemId,
|
||||||
if index > len(videos):
|
resolution=resolution, format=format)
|
||||||
|
if index > streams.count():
|
||||||
raise Http404
|
raise Http404
|
||||||
|
stream = streams[index]
|
||||||
stream = videos[index].streams.filter(resolution=resolution, format=format)
|
if not stream.available or not stream.video:
|
||||||
if stream.count() == 0:
|
|
||||||
raise Http404
|
raise Http404
|
||||||
stream = stream[0]
|
|
||||||
path = stream.video.path
|
path = stream.video.path
|
||||||
|
|
||||||
#server side cutting
|
#server side cutting
|
||||||
|
@ -699,4 +698,6 @@ def video(request, id, resolution, format, index=None):
|
||||||
return response
|
return response
|
||||||
if not settings.XSENDFILE and not settings.XACCELREDIRECT:
|
if not settings.XSENDFILE and not settings.XACCELREDIRECT:
|
||||||
return redirect(stream.video.url)
|
return redirect(stream.video.url)
|
||||||
return HttpFileResponse(path)
|
response = HttpFileResponse(path)
|
||||||
|
response['Cache-Control'] = 'public'
|
||||||
|
return response
|
||||||
|
|
Loading…
Reference in a new issue