mpv2oboeru

mpv helpers to create flashcards from movies and TV shows
git clone anongit@rnpnr.xyz:mpv2oboeru.git
Log | Files | Refs | Feed | README | LICENSE

Commit: e3a9966fa981580a14746b60553dbf30cb38aa24
Parent: 5592b726e88e70ca1a9e77eb04dee0a895875c24
Author: Ren Tatsumoto
Date:   Sat, 26 Sep 2020 22:52:16 +0300

pass already constructed 'note_fields' to append_media()

Diffstat:
Msubs2srs.lua | 30+++++++++++-------------------
1 file changed, 11 insertions(+), 19 deletions(-)

diff --git a/subs2srs.lua b/subs2srs.lua @@ -337,7 +337,14 @@ local function update_last_note(overwrite) ffmpeg.create_snapshot(snapshot_timestamp, snapshot_filename) ffmpeg.create_audio(sub['start'], sub['end'], audio_filename) - ankiconnect.append_media(last_note_id, sub['text'], audio_filename, snapshot_filename, overwrite) + + local note_fields = { + [config.sentence_field] = sub['text'], + [config.audio_field] = string.format('[sound:%s]', audio_filename), + [config.image_field] = string.format('<img src="%s" alt="snapshot">', snapshot_filename), + } + + ankiconnect.append_media(last_note_id, note_fields, overwrite) end local function get_empty_timings() @@ -556,7 +563,7 @@ ankiconnect.get_note_fields = function(note_id) end end -ankiconnect.append_media = function(note_id, sentence, audio_filename, snapshot_filename, overwrite) +ankiconnect.append_media = function(note_id, note_fields, overwrite) -- AnkiConnect will fail to update the note if the Anki Browser is open. -- First, try to close the Anki Browser. -- https://github.com/FooSoft/anki-connect/issues/82 @@ -569,19 +576,8 @@ ankiconnect.append_media = function(note_id, sentence, audio_filename, snapshot_ 'Escape' } - local audio_field = string.format('[sound:%s]', audio_filename) - local image_field = string.format('<img src="%s" alt="snapshot">', snapshot_filename) - if not overwrite then - local fields = ankiconnect.get_note_fields(note_id) - if fields ~= nil then - if fields[config.audio_field] then - audio_field = fields[config.audio_field] .. audio_field - end - if fields[config.image_field] then - image_field = fields[config.image_field] .. image_field - end - end + note_fields = join_media_fields(note_fields, ankiconnect.get_note_fields(note_id)) end local args = { @@ -590,11 +586,7 @@ ankiconnect.append_media = function(note_id, sentence, audio_filename, snapshot_ params = { note = { id = note_id, - fields = { - [config.sentence_field] = sentence, - [config.audio_field] = audio_field, - [config.image_field] = image_field, - }, + fields = note_fields, } } }