From 3de08c38fb44d587cf74b892600b0e0dc469ef1e Mon Sep 17 00:00:00 2001 From: adrianparisi Date: Fri, 12 Dec 2014 00:28:04 -0300 Subject: [PATCH 1/4] Multiple options to language code in file name --- vlsub.lua | 32 ++++++++++++++++++++++++++------ 1 file changed, 26 insertions(+), 6 deletions(-) diff --git a/vlsub.lua b/vlsub.lua index 8f7c411..0ae9d06 100644 --- a/vlsub.lua +++ b/vlsub.lua @@ -91,6 +91,8 @@ local options = { int_vlsub_work_dir = 'VLSub working directory', int_os_username = 'Username', int_os_password = 'Password', + int_language_code_2 = 'Yes (2 chars)', + int_language_code_3 = 'Yes (3 chars)', int_help_mess =[[ Download subtitles from @@ -501,9 +503,9 @@ function interface_config() apply_config, 3, 10, 1, 1) input_table['langExt']:add_value( - lang["int_bool_"..tostring(openSub.option.langExt)], 1) - input_table['langExt']:add_value( - lang["int_bool_"..tostring(not openSub.option.langExt)], 2) + lang["int_bool_"..tostring(not openSub.option.langExt)], 1) + input_table['langExt']:add_value(lang["int_language_code_2"], 2) + input_table['langExt']:add_value(lang["int_language_code_3"], 3) input_table['removeTag']:add_value( lang["int_bool_"..tostring(openSub.option.removeTag)], 1) input_table['removeTag']:add_value( @@ -956,8 +958,14 @@ function apply_config() openSub.option.os_username = input_table['os_username']:get_text() openSub.option.os_password = input_table['os_password']:get_text() - if input_table["langExt"]:get_value() == 2 then - openSub.option.langExt = not openSub.option.langExt + if input_table["langExt"]:get_value() == 1 then + openSub.option.langExt = '0 chars' + elseif input_table["langExt"]:get_value() == 2 then + openSub.option.langExt = '2 chars' + elseif input_table["langExt"]:get_value() == 3 then + openSub.option.langExt = '3 chars' + else + -- throw an exception end if input_table["removeTag"]:get_value() == 2 then @@ -1681,7 +1689,9 @@ function download_subtitles() local message = "" local subfileName = openSub.file.name or "" - if openSub.option.langExt then + if openSub.option.langExt == '2 chars' then + subfileName = subfileName.."."..get_key_for_value(lang_os_to_iso, item.SubLanguageID) + elseif openSub.option.langExt == '3 chars' then subfileName = subfileName.."."..item.SubLanguageID end @@ -1789,6 +1799,16 @@ function dump_zip(url, dir, subfileName) .."!/"..subfileName, tmpFileName end +function get_key_for_value(table, value) + for k, v in pairs(table) do + if v == value then + return k + end + end + + return nil +end + function add_sub(subPath) if vlc.item or vlc.input.item() then subPath = decode_uri(subPath) From 442466a485b860e4253b73ec3c90789e7908e11a Mon Sep 17 00:00:00 2001 From: adrianparisi Date: Sun, 14 Dec 2014 00:17:44 -0300 Subject: [PATCH 2/4] Fix and refactor --- vlsub.lua | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/vlsub.lua b/vlsub.lua index 0ae9d06..b900cc8 100644 --- a/vlsub.lua +++ b/vlsub.lua @@ -35,7 +35,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. local options = { language = nil, downloadBehaviour = 'save', - langExt = false, + langExt = '0 chars', removeTag = false, showMediaInformation = true, progressBarSize = 80, @@ -506,6 +506,7 @@ function interface_config() lang["int_bool_"..tostring(not openSub.option.langExt)], 1) input_table['langExt']:add_value(lang["int_language_code_2"], 2) input_table['langExt']:add_value(lang["int_language_code_3"], 3) + input_table['removeTag']:add_value( lang["int_bool_"..tostring(openSub.option.removeTag)], 1) input_table['removeTag']:add_value( @@ -965,7 +966,8 @@ function apply_config() elseif input_table["langExt"]:get_value() == 3 then openSub.option.langExt = '3 chars' else - -- throw an exception + vlc.msg.err("[VLSub] Unknown language extension: " .. + input_table["langExt"]:get_value()) end if input_table["removeTag"]:get_value() == 2 then @@ -1690,7 +1692,7 @@ function download_subtitles() local subfileName = openSub.file.name or "" if openSub.option.langExt == '2 chars' then - subfileName = subfileName.."."..get_key_for_value(lang_os_to_iso, item.SubLanguageID) + subfileName = subfileName.."."..get_key(lang_os_to_iso, item.SubLanguageID) elseif openSub.option.langExt == '3 chars' then subfileName = subfileName.."."..item.SubLanguageID end @@ -1799,7 +1801,7 @@ function dump_zip(url, dir, subfileName) .."!/"..subfileName, tmpFileName end -function get_key_for_value(table, value) +function get_key(table, value) for k, v in pairs(table) do if v == value then return k From d8b84b63511a61c913f3b97774c84c46e3f89ad3 Mon Sep 17 00:00:00 2001 From: adrianparisi Date: Sun, 14 Dec 2014 22:57:45 -0300 Subject: [PATCH 3/4] New function set_language_code_file --- vlsub.lua | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/vlsub.lua b/vlsub.lua index b900cc8..ffbcc5d 100644 --- a/vlsub.lua +++ b/vlsub.lua @@ -502,11 +502,6 @@ function interface_config() lang["int_save"], apply_config, 3, 10, 1, 1) - input_table['langExt']:add_value( - lang["int_bool_"..tostring(not openSub.option.langExt)], 1) - input_table['langExt']:add_value(lang["int_language_code_2"], 2) - input_table['langExt']:add_value(lang["int_language_code_3"], 3) - input_table['removeTag']:add_value( lang["int_bool_"..tostring(openSub.option.removeTag)], 1) input_table['removeTag']:add_value( @@ -528,6 +523,8 @@ function interface_config() 'downloadBehaviour', openSub.conf.downloadBehaviours, 1) + + assoc_select_conf('langExt', 'langExt', openSub.conf.langExt, 1) end function interface_help() @@ -836,6 +833,8 @@ function check_config() setError(lang["mess_err_conf_access"]) end + set_language_code_file() + -- Set table list of available translations from assoc. array -- so it is sortable @@ -1076,6 +1075,15 @@ function SetDownloadBehaviours() } end +function set_language_code_file() -- ap + openSub.conf.langExt = nil + openSub.conf.langExt = { + { '0 chars', lang["int_bool_false"] }, + { '2 chars', lang["int_language_code_2"] }, + { '3 chars', lang["int_language_code_3"] } + } +end + function get_available_translations() -- Get all available translation files from the internet -- (drop previous direct download from github repo From 2a37a3511f8e835e4239e9875d3960f0a40f1520 Mon Sep 17 00:00:00 2001 From: adrianparisi Date: Sun, 26 Apr 2015 17:37:14 -0300 Subject: [PATCH 4/4] Fix the value of selected option. --- vlsub.lua | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/vlsub.lua b/vlsub.lua index ffbcc5d..3849c64 100644 --- a/vlsub.lua +++ b/vlsub.lua @@ -958,11 +958,11 @@ function apply_config() openSub.option.os_username = input_table['os_username']:get_text() openSub.option.os_password = input_table['os_password']:get_text() - if input_table["langExt"]:get_value() == 1 then + if input_table["langExt"]:get_text() == lang["int_bool_false"] then openSub.option.langExt = '0 chars' - elseif input_table["langExt"]:get_value() == 2 then + elseif input_table["langExt"]:get_text() == lang["int_language_code_2"] then openSub.option.langExt = '2 chars' - elseif input_table["langExt"]:get_value() == 3 then + elseif input_table["langExt"]:get_text() == lang["int_language_code_3"] then openSub.option.langExt = '3 chars' else vlc.msg.err("[VLSub] Unknown language extension: " ..