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:
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,
}
}
}