matches, subtitles, parts
This commit is contained in:
parent
da65166776
commit
c428b5e206
5 changed files with 42 additions and 14 deletions
|
|
@ -52,10 +52,12 @@ def parseCondition(condition):
|
|||
'text': 'string',
|
||||
'year': 'string',
|
||||
'length': 'string',
|
||||
'list': 'list'
|
||||
'list': 'list',
|
||||
'layer': 'string'
|
||||
}.get(key_type, key_type)
|
||||
if k == 'list':
|
||||
key_type = 'list'
|
||||
|
||||
if key_type == "string":
|
||||
in_find=True
|
||||
value_key = 'find__value'
|
||||
|
|
|
|||
|
|
@ -400,8 +400,8 @@ class Item(models.Model):
|
|||
save('trivia', ' '.join(self.get('trivia', [])))
|
||||
|
||||
#FIXME:
|
||||
qs = Annotation.objects.filter(layer__type='subtitle', item=self).order_by('start')
|
||||
save('dialog', '\n'.join([l.value for l in qs]))
|
||||
qs = Annotation.objects.filter(layer__name='subtitles', item=self).order_by('start')
|
||||
save('subtitles', '\n'.join([l.value for l in qs]))
|
||||
|
||||
def update_sort(self):
|
||||
try:
|
||||
|
|
|
|||
|
|
@ -41,7 +41,16 @@ def load_subtitles(itemId):
|
|||
layer = models.Layer.objects.get(name='subtitles')
|
||||
models.Annotation.objects.filter(layer=layer,item=item).delete()
|
||||
offset = 0
|
||||
for f in item.files.filter(is_main=True, is_subtitle=True, available=True).order_by('part'):
|
||||
language = ''
|
||||
languages = [f.language for f in item.files.filter(is_main=True, is_subtitle=True,
|
||||
available=True)]
|
||||
if languages:
|
||||
if 'en' in languages:
|
||||
language = 'en'
|
||||
else:
|
||||
language = languages[0]
|
||||
for f in item.files.filter(is_main=True, is_subtitle=True,
|
||||
available=True, language=language).order_by('part'):
|
||||
user = f.instances.all()[0].volume.user
|
||||
for data in f.srt(offset):
|
||||
annotation = models.Annotation(
|
||||
|
|
@ -54,5 +63,12 @@ def load_subtitles(itemId):
|
|||
)
|
||||
annotation.save()
|
||||
duration = item.files.filter(Q(is_audio=True)|Q(is_video=True)) \
|
||||
.filter(is_main=True, available=True, part=f.part)[0].duration
|
||||
.filter(is_main=True, available=True, part=f.part)
|
||||
if duration:
|
||||
duration = duration[0].duration
|
||||
else:
|
||||
models.Annotation.objects.filter(layer=layer,item=item).delete()
|
||||
break
|
||||
offset += duration
|
||||
item.update_find()
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue