From ebda48d6f548b7f283f8d4315758c2383f64357d Mon Sep 17 00:00:00 2001 From: wareya Date: Sun, 4 Nov 2018 07:18:18 -0500 Subject: [PATCH] fix deconj rule importing --- background-script.js | 10 +++++++++- options.js | 10 +++++++--- 2 files changed, 16 insertions(+), 4 deletions(-) diff --git a/background-script.js b/background-script.js index 8adcf9f..b59727f 100644 --- a/background-script.js +++ b/background-script.js @@ -552,13 +552,21 @@ function deconjugate(mytext) let start_form = {text: mytext, original_text: mytext, tags: [], seentext: new Set(), process: [] }; novel.add(start_form); + let myrules = rules; + + try + { + if(settings.deconjugator_rules_json != "") + myrules = JSON.parse(settings.deconjugator_rules_json); + } catch(err) {} + while(novel.size > 0) { //print_object(novel); let new_novel = new Set(); for(let form of novel) { - for(let rule of rules) + for(let rule of myrules) { if(!(rule instanceof Object)) continue; diff --git a/options.js b/options.js index 738d0ca..41a7188 100644 --- a/options.js +++ b/options.js @@ -453,13 +453,17 @@ function buildpage() decon_file.id = "decon_file"; decon_file.addEventListener("change", () => { - let fname = document.querySelector("#epwing_file").files[0]; + let fname = document.querySelector("#decon_file").files[0]; let reader = new FileReader(); reader.onload = async(e) => { try { - browser.storage.local.set({"deconjugator_rules_json":JSON.stringify(JSON.parse(e.target.result))}); + let text = e.target.result; + if(text == "" || text == "\n" || text == "\r\n") + browser.storage.local.set({"deconjugator_rules_json":""}); + else + browser.storage.local.set({"deconjugator_rules_json":JSON.stringify(JSON.parse())}); document.querySelector("decon_label").textContent = "Imported. Might take a few seconds to apply."; } catch(except) @@ -472,7 +476,7 @@ function buildpage() let decon_label = document.createElement("label"); decon_label.for = decon_file.id; decon_label.id = "import_label"; - decon_label.textContent = "Import deconjugation ruleset. Overrides default deconjugation ruleset. Importing a blank file and restarting your browser will restore the default ruleset."; + decon_label.textContent = "Import deconjugation ruleset. Overrides default deconjugation ruleset. Importing a blank file will restore the default ruleset."; decon_label.style.display = "block"; optionsection.appendChild(decon_file);