cache stream state

This commit is contained in:
j 2011-07-03 20:11:35 +02:00
parent 2d4a5a4f40
commit 523835dd6a
2 changed files with 6 additions and 6 deletions

View file

@ -227,7 +227,7 @@ def moveFiles(request):
'''
change file / item link
param data {
ids: hashes of files
ids: ids of files
itemId: new itemId
}

View file

@ -123,6 +123,7 @@ class Item(models.Model):
torrent = models.FileField(default=None, blank=True,
upload_to=lambda i, x: i.path('torrent.torrent'))
stream_info = fields.DictField(default={}, editable=False)
#stream related fields
stream_aspect = models.FloatField(default=4/3)
@ -671,13 +672,12 @@ class Item(models.Model):
self.torrent.name = self.path('torrent/%s.torrent' % self.get('title'))
self.save()
def update_streams(self):
def update_streams(self, force=False):
files = {}
for f in self.main_videos():
files[utils.sort_title(f.name)] = f.video.path
#FIXME: how to detect if something changed?
if files:
if force or self.stream_info != files:
self.stream_info = files
stream, created = Stream.objects.get_or_create(item=self,
profile=settings.VIDEO_PROFILE)
stream.video.name = stream.path()