This commit is contained in:
j 2017-05-21 22:48:54 +02:00
parent d4a78ebbd1
commit 14b278fdd1
1 changed files with 12 additions and 3 deletions

View File

@ -80,7 +80,7 @@ def render_subtitles(item_json, output_json, output_srt):
clip_subtitles.sort(key=lambda c: (c['in'], c['out'], c['id']))
for sub in clip_subtitles:
sub_in = float('%0.3f'% (sub['in'] + position))
sub_in = float('%0.3f' % (sub['in'] + position))
sub_out = float('%0.3f' % (sub['out'] + position))
sub_id = '%0.3f-%0.3f' % (sub_in, sub_out)
if sub_id not in subs:
@ -90,7 +90,15 @@ def render_subtitles(item_json, output_json, output_srt):
'value': [],
'ids': []
}
subs[sub_id]['value'].append(sub['value'].replace('<br>', ''))
is_korean = 'lang="ko"' in sub['value']
value = sub['value'].replace('<br>', '')
value = value.replace('<span lang="ko">', '').replace('</span>', '').strip()
# just use strip_tags?
# value = ox.strip_tags(ox.decode_html(sub['value']))
if is_korean:
subs[sub_id]['value'].append(value)
else:
subs[sub_id]['value'].insert(0, value)
subs[sub_id]['ids'].append(sub['id'])
position += clip['duration']
subs = sorted(subs.values(), key=lambda c: (c['in'], c['out']))
@ -103,6 +111,7 @@ def render_subtitles(item_json, output_json, output_srt):
with open(output_json, 'w') as fd:
json.dump(subtitles, fd, indent=4, ensure_ascii=False)
if __name__ == '__main__':
if os.path.exists('subtitles.json'):
items = json.load(open('subtitles.json'))
@ -112,7 +121,7 @@ if __name__ == '__main__':
json.dump(items, fd, indent=4, ensure_ascii=False)
if len(sys.argv) > 1:
files = sys.argv[1:]
files = sys.argv[1:]
else:
files = glob('output/*/*.json')
for item_json in files: