X-Git-Url: https://git.r.bdr.sh/rbdr/generador-de-insultos/blobdiff_plain/e865f21be5685ef2fbc57e36460f8d6819e0fe34..c0d27c055055f4aada0a96b779e0bd661347160c:/lib/Conjugator.js diff --git a/lib/Conjugator.js b/lib/Conjugator.js deleted file mode 100644 index 78dd713..0000000 --- a/lib/Conjugator.js +++ /dev/null @@ -1,66 +0,0 @@ -'use strict'; - - -var Promise = require('bluebird'); -var cheerio = require('cheerio'); -require('neon'); -var request = require('request'); - - -var Conjugator = Class({}, "Conjugator")({ - prototype : { - _baseUrl: "http://www.spanishdict.com/conjugate/", - _selector: "table .ex-tip", - - init : function init(config) { - config = config || {}; - - Object.keys(config).forEach(function (property) { - this[property] = config[property]; - }, this); - }, - - conjugate : function conjugate(verb) { - return new Promise(function (resolve, reject) { - request(this._baseUrl + verb, function (err, res, body) { - var $, result, finalVerb ; - if (err) { - return reject(err); - } - $ = cheerio.load(body); - result = $(this._selector)[10]; - - if (!result) { - console.log("Verb not found: ", verb); - return reject(new Error("Not a valid verb")); - } - - finalVerb = this._extractWord(result); - - console.log(verb, finalVerb); - resolve(finalVerb); - }.bind(this)); - }.bind(this)); - }, - - _extractWord : function _extractWord(node) { - var word = "", components; - - node.children.forEach(function (child) { - if (child.type === "text") { - word += child.data; - } else { - word += this._extractWord(child); - } - }, this); - - word = word.split(",")[0]; // multiple conjugations, take 1 - components = word.split(" "); // some special cases have two words - // use the last, why not - - return components[components.length - 1]; - } - } -}); - -module.exports = Conjugator;