From 85b6a7c2a280c9029383cafbef853c0c2e1d7c95 Mon Sep 17 00:00:00 2001 From: Garland-g Date: Mon, 14 Sep 2015 20:58:38 -0400 Subject: [PATCH] Dynamic language checking Adds dynamic language checking support --- lib/aspell.js | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/lib/aspell.js b/lib/aspell.js index f61622d..e3bef59 100644 --- a/lib/aspell.js +++ b/lib/aspell.js @@ -2,10 +2,11 @@ var spawn = require('child_process').spawn; var underscore = require('underscore'); module.exports = function(req, callback){ + var language = req.body.lang; if(req.body.action === 'get_incorrect_words') { var unescapedwords = JSON.parse('["' + underscore.unescape(req.body.text) + '"]'); - words(unescapedwords, function(outcome, data, message){ + words(unescapedwords, language, function(outcome, data, message){ var out = {}; out.outcome = outcome; out.data = data; @@ -19,14 +20,14 @@ module.exports = function(req, callback){ if(req.body.action === 'get_suggestions') { - suggestions(req.body.word, function(data){ + suggestions(req.body.word, language, function(data){ callback(data); return; }); } }; -function suggestions(word, callback) +function suggestions(word, language, callback) { var message = ''; var words = []; @@ -34,7 +35,7 @@ function suggestions(word, callback) words.push(word); var proc1 = spawn('/bin/echo', words); - var proc2 = spawn('aspell', ['-a', '--master=en_US', '--encoding=utf-8', '--sug-mode=normal']); + var proc2 = spawn('aspell', ['-a', '--lang=' + language, '--encoding=utf-8', '--sug-mode=normal']); proc1.stdout.on('data', function (data) { proc2.stdin.write(data); @@ -87,12 +88,13 @@ function suggestions(word, callback) }); } -function words(words, callback) +function words(words, language, callback) { var res = ''; var message = ''; var proc1 = spawn('/bin/echo', words); - var proc2 = spawn('aspell', ['--master=en_US', '--encoding=utf-8', 'list']); + var proc2 = spawn('aspell', ['--lang=' + language, '--encoding=utf-8', 'list']); + var outcome; proc1.stdout.on('data', function (data) { proc2.stdin.write(data); @@ -145,4 +147,4 @@ function words(words, callback) callback(outcome, data, message); }); -} \ No newline at end of file +}