This commit is contained in:
rolux 2011-10-26 08:29:28 +00:00
commit cb83a8a478
3 changed files with 24 additions and 19 deletions

View file

@ -108,11 +108,13 @@ class Annotation(models.Model):
def set_public_id(self): def set_public_id(self):
public_id = Annotation.objects.filter(item=self.item, id__lt=self.id).count() public_id = Annotation.objects.filter(item=self.item, id__lt=self.id).count()
self.public_id = "%s/%s" % ( self.item.itemId, ox.to26(public_id)) self.public_id = "%s/%s" % ( self.item.itemId, ox.to26(public_id))
Annotation.objects.filter(id=self.id).update(public_id=public_id)
def save(self, *args, **kwargs): def save(self, *args, **kwargs):
if not self.id: if not self.id:
super(Annotation, self).save(*args, **kwargs) set_public_id = True
self.set_public_id() else:
set_public_id = False
#no clip or update clip #no clip or update clip
if not self.clip and not self.layer.private or \ if not self.clip and not self.layer.private or \
@ -121,6 +123,8 @@ class Annotation(models.Model):
self.clip, created = Clip.get_or_create(self.item, self.start, self.end) self.clip, created = Clip.get_or_create(self.item, self.start, self.end)
super(Annotation, self).save(*args, **kwargs) super(Annotation, self).save(*args, **kwargs)
if set_public_id:
self.set_public_id()
def json(self, layer=False, keys=None): def json(self, layer=False, keys=None):
j = { j = {

View file

@ -122,7 +122,7 @@ class File(models.Model):
self.pixels = int(self.width * self.height * float(utils.parse_decimal(self.framerate)) * self.duration) self.pixels = int(self.width * self.height * float(utils.parse_decimal(self.framerate)) * self.duration)
else: else:
self.is_video = os.path.splitext(self.path)[-1] in ('.avi', '.mkv', '.dv', '.ogv', '.mpeg', '.mov', '.webm') self.is_video = os.path.splitext(self.path)[-1] in ('.avi', '.mkv', '.dv', '.ogv', '.mpeg', '.mov', '.webm', '.mp4', '.mpg')
self.is_audio = os.path.splitext(self.path)[-1] in ('.mp3', '.wav', '.ogg', '.flac', '.oga') self.is_audio = os.path.splitext(self.path)[-1] in ('.mp3', '.wav', '.ogg', '.flac', '.oga')
self.is_subtitle = os.path.splitext(self.path)[-1] in ('.srt', ) self.is_subtitle = os.path.splitext(self.path)[-1] in ('.srt', )

View file

@ -511,22 +511,23 @@ class Item(models.Model):
ItemFind.objects.filter(item=self, key=key).delete() ItemFind.objects.filter(item=self, key=key).delete()
for key in settings.CONFIG['itemKeys']: for key in settings.CONFIG['itemKeys']:
if key.get('find'): i = key['id']
i = key['id'] if i == 'title':
if i == 'title': save(i, u'\n'.join([self.get('title', 'Untitled'),
save(i, u'\n'.join([self.get('title', 'Untitled'), self.get('originalTitle', '')]))
self.get('originalTitle', '')])) elif i == 'rightslevel':
elif i == 'filename': save(i, self.level)
save(i, elif i == 'filename':
'\n'.join([f.path for f in self.files.all()])) save(i,
elif key['type'] == 'layer': '\n'.join([f.path for f in self.files.all()]))
qs = Annotation.objects.filter(layer__name=i, item=self).order_by('start') elif key['type'] == 'layer':
save(i, '\n'.join([l.value for l in qs])) qs = Annotation.objects.filter(layer__name=i, item=self).order_by('start')
elif i != '*' and i not in self.facet_keys: save(i, '\n'.join([l.value for l in qs]))
value = self.get(i) elif i != '*' and i not in self.facet_keys:
if isinstance(value, list): value = self.get(i)
value = u'\n'.join(value) if isinstance(value, list):
save(i, value) value = u'\n'.join(value)
save(i, value)
for key in self.facet_keys: for key in self.facet_keys:
if key == 'character': if key == 'character':