subtitles
This commit is contained in:
parent
c5b74c6f77
commit
e64dd48ee2
4 changed files with 115 additions and 85 deletions
|
|
@ -270,6 +270,16 @@ class Movie(models.Model):
|
|||
stream['profiles'] = list(set(map(lambda s: int(os.path.splitext(s['profile'])[0][:-1]), self.streams.all().values('profile'))))
|
||||
return stream
|
||||
|
||||
def get_layers(self):
|
||||
layers = {}
|
||||
layers['cuts'] = self.metadata.get('cuts', {})
|
||||
|
||||
layers['subtitles'] = {}
|
||||
qs = self.files.filter(is_subtitle=True, is_main=True, available=True)
|
||||
if qs.count()>0:
|
||||
layers['subtitles'] = qs[0].srt()
|
||||
return layers
|
||||
|
||||
def get_json(self, fields=None):
|
||||
movie = {}
|
||||
for key in self._public_fields:
|
||||
|
|
|
|||
|
|
@ -279,7 +279,10 @@ def api_getItem(request):
|
|||
itemId = json.loads(request.POST['data'])
|
||||
item = get_object_or_404_json(models.Movie, movieId=itemId)
|
||||
#FIXME: check permissions
|
||||
response['data'] = {'item': item.get_json()}
|
||||
info = item.get_json()
|
||||
info['stream'] = item.get_stream()
|
||||
info['layers'] = item.get_layers()
|
||||
response['data'] = {'item': info}
|
||||
return render_to_json_response(response)
|
||||
|
||||
@login_required_json
|
||||
|
|
@ -316,45 +319,6 @@ def api_removeItem(request):
|
|||
response = json_response(status=403, text='permissino denied')
|
||||
return render_to_json_response(response)
|
||||
|
||||
def api_info(request):
|
||||
'''
|
||||
param data
|
||||
string id
|
||||
|
||||
return {'status': {'code': int, 'text': string}, 'data': {'info': {}}}
|
||||
'''
|
||||
response = json_response({})
|
||||
itemId = json.loads(request.POST['data'])
|
||||
item = get_object_or_404_json(models.Movie, movieId=itemId)
|
||||
response['data'] = {'info': movie.get_stream()}
|
||||
return render_to_json_response(response)
|
||||
|
||||
def api_subtitles(request):
|
||||
'''
|
||||
param data
|
||||
string id
|
||||
|
||||
return {'status': {'code': int, 'text': string}, 'data': {'subtitles': {}}}
|
||||
'''
|
||||
response = json_response({})
|
||||
itemId = json.loads(request.POST['data'])
|
||||
item = get_object_or_404_json(models.Movie, movieId=itemId)
|
||||
response['data'] = {'subtitles': movie.metadata.get('subtitles', {})}
|
||||
return render_to_json_response(response)
|
||||
|
||||
def api_cuts(request):
|
||||
'''
|
||||
param data
|
||||
string id
|
||||
|
||||
return {'status': {'code': int, 'text': string}, 'data': {'cuts': {}}}
|
||||
'''
|
||||
response = json_response({})
|
||||
itemId = json.loads(request.POST['data'])
|
||||
item = get_object_or_404_json(models.Movie, movieId=itemId)
|
||||
response['data'] = {'cuts': movie.metadata.get('cuts', {})}
|
||||
return render_to_json_response(response)
|
||||
|
||||
@login_required_json
|
||||
def api_addLayer(request):
|
||||
'''
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue