forked from 0x2620/pandora
audio only
This commit is contained in:
parent
5df4aea677
commit
d7e8d18e35
3 changed files with 21 additions and 4 deletions
|
@ -101,6 +101,9 @@ class File(models.Model):
|
||||||
self.is_video = False
|
self.is_video = False
|
||||||
else:
|
else:
|
||||||
self.is_video = False
|
self.is_video = False
|
||||||
|
self.display_aspect_ratio = "4:3"
|
||||||
|
self.width = '320'
|
||||||
|
self.height = '240'
|
||||||
if 'audio' in self.info and self.info['audio']:
|
if 'audio' in self.info and self.info['audio']:
|
||||||
audio = self.info['audio'][0]
|
audio = self.info['audio'][0]
|
||||||
self.audio_codec = audio['codec']
|
self.audio_codec = audio['codec']
|
||||||
|
|
|
@ -98,6 +98,7 @@ def update(request):
|
||||||
response['data']['info'] = [f.file.oshash for f in files.filter(file__info='{}')]
|
response['data']['info'] = [f.file.oshash for f in files.filter(file__info='{}')]
|
||||||
#needs some flag to find those that are actually used main is to generic
|
#needs some flag to find those that are actually used main is to generic
|
||||||
response['data']['data'] = [f.file.oshash for f in files.filter(file__is_video=True, file__is_main=True)]
|
response['data']['data'] = [f.file.oshash for f in files.filter(file__is_video=True, file__is_main=True)]
|
||||||
|
response['data']['data'] += [f.file.oshash for f in files.filter(file__is_audio=True, file__is_main=True)]
|
||||||
response['data']['file'] = [f.file.oshash for f in files.filter(file__is_subtitle=True)]
|
response['data']['file'] = [f.file.oshash for f in files.filter(file__is_subtitle=True)]
|
||||||
|
|
||||||
return render_to_json_response(response)
|
return render_to_json_response(response)
|
||||||
|
|
|
@ -96,7 +96,7 @@ class Item(models.Model):
|
||||||
published = models.DateTimeField(default=datetime.now, editable=False)
|
published = models.DateTimeField(default=datetime.now, editable=False)
|
||||||
|
|
||||||
user = models.ForeignKey(User, null=True, related_name='items')
|
user = models.ForeignKey(User, null=True, related_name='items')
|
||||||
groups = models.ManyToManyField(Group, related_name='items')
|
groups = models.ManyToManyField(Group, blank=True, related_name='items')
|
||||||
|
|
||||||
#only items that have data from files are available,
|
#only items that have data from files are available,
|
||||||
#this is indicated by setting available to True
|
#this is indicated by setting available to True
|
||||||
|
@ -627,6 +627,18 @@ class Item(models.Model):
|
||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
videos = filter(check, videos)
|
videos = filter(check, videos)
|
||||||
|
else:
|
||||||
|
audio = self.files.filter(is_main=True, is_audio=True, available=True)
|
||||||
|
if audio.count()>0:
|
||||||
|
first = audio[0]
|
||||||
|
user = first.instances.all()[0].volume.user
|
||||||
|
#only take videos from same user and with same width/height
|
||||||
|
def check(v):
|
||||||
|
if v.instances.filter(volume__user=user).count()>0:
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
videos = filter(check, audio)
|
||||||
|
|
||||||
return videos
|
return videos
|
||||||
|
|
||||||
def update_streams(self):
|
def update_streams(self):
|
||||||
|
@ -658,9 +670,9 @@ class Item(models.Model):
|
||||||
os.symlink(files.values()[0], stream.video.path)
|
os.symlink(files.values()[0], stream.video.path)
|
||||||
stream.save()
|
stream.save()
|
||||||
|
|
||||||
if 'video' in stream.info:
|
extract.timeline(stream.video.path, self.timeline_prefix)
|
||||||
|
if 'video' in stream.info and stream.info['video']:
|
||||||
v = stream.info['video'][0]
|
v = stream.info['video'][0]
|
||||||
extract.timeline(stream.video.path, self.timeline_prefix)
|
|
||||||
self.stream_aspect = v['width']/v['height']
|
self.stream_aspect = v['width']/v['height']
|
||||||
self.data['cuts'] = extract.cuts(self.timeline_prefix)
|
self.data['cuts'] = extract.cuts(self.timeline_prefix)
|
||||||
self.data['color'] = extract.average_color(self.timeline_prefix)
|
self.data['color'] = extract.average_color(self.timeline_prefix)
|
||||||
|
@ -787,7 +799,8 @@ class Item(models.Model):
|
||||||
for f in self.main_videos():
|
for f in self.main_videos():
|
||||||
for ff in f.frames.all():
|
for ff in f.frames.all():
|
||||||
frames.append(ff.frame.path)
|
frames.append(ff.frame.path)
|
||||||
return frames[int(len(frames)/2)]
|
if frames:
|
||||||
|
return frames[int(len(frames)/2)]
|
||||||
|
|
||||||
def make_icon(self):
|
def make_icon(self):
|
||||||
frame = self.get_poster_frame_path()
|
frame = self.get_poster_frame_path()
|
||||||
|
|
Loading…
Reference in a new issue