summaryrefslogtreecommitdiffstats
path: root/lib/models/languages.js
diff options
context:
space:
mode:
authorSamy Pessé <samypesse@gmail.com>2016-04-29 10:58:25 +0200
committerSamy Pessé <samypesse@gmail.com>2016-04-29 10:58:25 +0200
commit73c190891d4aba49c6fbd43943be4ceb31a78a60 (patch)
treee8c0a595e38329cc0ef835648829555f9206fc89 /lib/models/languages.js
parent93e701f4712ab9e476061f8f81fb03eda1c2af2a (diff)
downloadgitbook-73c190891d4aba49c6fbd43943be4ceb31a78a60.zip
gitbook-73c190891d4aba49c6fbd43943be4ceb31a78a60.tar.gz
gitbook-73c190891d4aba49c6fbd43943be4ceb31a78a60.tar.bz2
Fix parsing of multilingual books
Diffstat (limited to 'lib/models/languages.js')
-rw-r--r--lib/models/languages.js26
1 files changed, 26 insertions, 0 deletions
diff --git a/lib/models/languages.js b/lib/models/languages.js
index c64857f..6c19cba 100644
--- a/lib/models/languages.js
+++ b/lib/models/languages.js
@@ -1,6 +1,7 @@
var Immutable = require('immutable');
var File = require('./file');
+var Language = require('./language');
var Languages = Immutable.Record({
file: File(),
@@ -34,4 +35,29 @@ Languages.prototype.getLanguage = function(lang) {
return this.getList().get(lang);
};
+
+/**
+ Create a languages list from a JS object
+
+ @param {File}
+ @param {Array}
+ @return {Language}
+*/
+Languages.createFromList = function(file, langs) {
+ var list = Immutable.OrderedMap();
+
+ langs.forEach(function(lang) {
+ lang = Language({
+ title: lang.title,
+ path: lang.path
+ });
+ list = list.set(lang.getID(), lang);
+ });
+
+ return Languages({
+ file: file,
+ list: list
+ });
+}
+
module.exports = Languages;