forked from 0x2620/pandora
dont save clip/sequence ids in db
This commit is contained in:
parent
af8f7e2842
commit
81cef44d19
7 changed files with 47 additions and 37 deletions
|
|
@ -22,7 +22,6 @@ def parseCondition(condition, user):
|
|||
'''
|
||||
k = condition.get('key', 'name')
|
||||
k = {
|
||||
'id': 'public_id',
|
||||
'in': 'start',
|
||||
'out': 'end'
|
||||
}.get(k, k)
|
||||
|
|
@ -41,13 +40,16 @@ def parseCondition(condition, user):
|
|||
if op == '-':
|
||||
q = parseCondition({'key': k, 'value': v[0], 'operator': '>='}, user) \
|
||||
& parseCondition({'key': k, 'value': v[1], 'operator': '<'}, user)
|
||||
if exclude:
|
||||
return ~q
|
||||
else:
|
||||
return q
|
||||
return exclude and ~q or q
|
||||
if (not exclude and op == '=' or op in ('$', '^', '>=', '<')) and v == '':
|
||||
return Q()
|
||||
|
||||
if k == 'id':
|
||||
itemId, points = v.split('/')
|
||||
points = [float('%0.03f'%float(p)) for p in points.split('-')]
|
||||
q = Q(item__itemId=itemId, start=points[0], end=points[1])
|
||||
return exclude and ~q or q
|
||||
|
||||
if k.endswith('__id'):
|
||||
v = decode_id(v)
|
||||
if isinstance(v, bool): #featured and public flag
|
||||
|
|
|
|||
|
|
@ -19,10 +19,9 @@ from django.db import models
|
|||
|
||||
class Sequence(models.Model):
|
||||
class Meta:
|
||||
unique_together = ("public_id", "mode")
|
||||
unique_together = ("item", "start", "end", "mode")
|
||||
|
||||
mode = models.CharField(max_length=128)
|
||||
public_id = models.CharField(max_length=128)
|
||||
item = models.ForeignKey(Item, null=True, related_name='sequences')
|
||||
sort = models.ForeignKey(ItemSort, null=True, related_name='sequences')
|
||||
user = models.IntegerField(db_index=True, null=True)
|
||||
|
|
@ -35,15 +34,16 @@ class Sequence(models.Model):
|
|||
objects = managers.SequenceManager()
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
self.public_id = u"%s/%0.03f-%0.03f" % (
|
||||
self.item.itemId, float(self.start), float(self.end)
|
||||
)
|
||||
self.duration = self.end - self.start
|
||||
if self.item:
|
||||
self.user = self.item.user and self.item.user.id
|
||||
self.sort = self.item.sort
|
||||
super(Sequence, self).save(*args, **kwargs)
|
||||
|
||||
@property
|
||||
def public_id(self):
|
||||
return u"%s/%0.03f-%0.03f" % (self.item.itemId, float(self.start), float(self.end))
|
||||
|
||||
def __unicode__(self):
|
||||
return self.public_id
|
||||
|
||||
|
|
|
|||
|
|
@ -33,9 +33,6 @@ def get_sequences(itemId):
|
|||
'end': float('%0.03f' % s['out']),
|
||||
'hash': s['hash']
|
||||
}
|
||||
sequence['public_id'] = u"%s/%0.03f-%0.03f" % (
|
||||
i.itemId, sequence['start'], sequence['end']
|
||||
)
|
||||
sequence['duration'] = sequence['end'] - sequence['start']
|
||||
if not keys:
|
||||
keys = ', '.join(['"%s"'%k for k in sequence.keys()])
|
||||
|
|
@ -48,7 +45,3 @@ def get_sequences(itemId):
|
|||
cursor.execute(sql)
|
||||
transaction.commit_unless_managed()
|
||||
|
||||
@task(ignore_results=True, queue='encoding')
|
||||
def update_sequence_ids(itemId):
|
||||
for s in models.Sequence.objects.filter(item__itemId=itemId):
|
||||
s.save()
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue