Skip to content
Snippets Groups Projects
getvaluefromEDDI.js 1.8 KiB
Newer Older
Søren Madsen's avatar
Søren Madsen committed
console.time("Process");
var request = require("request");
var mongo = require("mongodb").MongoClient;
var ObjectID = require("mongodb").ObjectID;

var mongoUrl = "mongodb://localhost:3001/meteor";

Søren Madsen's avatar
Søren Madsen committed
var params = ["programme", "period", "year", "ects", "location", "courseLanguage", "courseType"];
Søren Madsen's avatar
Søren Madsen committed
var lang = ["da", "en"];

mongo.connect(mongoUrl, function (err, db) {
    db.collection("filters").drop();
    db.close();
});

Søren Madsen's avatar
Søren Madsen committed
var sortCounter = 0;

Søren Madsen's avatar
Søren Madsen committed
var getData = function (lang, param, sortCounter) {
Daniel Svane's avatar
Daniel Svane committed

Søren Madsen's avatar
Søren Madsen committed
    var url = "https://eddiprod.au.dk/EDDI/webservices/CourseCatalogService2.cfc?method=getValueList&list=" + param + "&lang=" + lang;
    //console.log("Getting data for '"+param+"' with language '"+lang+"'");
    //console.log(url);
Søren Madsen's avatar
Søren Madsen committed

Søren Madsen's avatar
Søren Madsen committed
    request({
        url: url,
        json: true
    }, function (e, res, json) {
        var obj = {};
Søren Madsen's avatar
Søren Madsen committed

Søren Madsen's avatar
Søren Madsen committed
        var arr = [];
Daniel Svane's avatar
Daniel Svane committed

Søren Madsen's avatar
Søren Madsen committed
        //console.log(json);

        json.listItems.forEach(function (item) {
            arr.push({id: item.id, name: item[json.listName]});
        });
Søren Madsen's avatar
Søren Madsen committed
        if (param == "courseLanguage") {
            json.listName = "instructionLanguage"
        }
Søren Madsen's avatar
Søren Madsen committed
        obj["name"] = json.listName;
        obj["lang"] = lang;
        obj["list"] = arr;
        obj["sorting"] = sortCounter;

        if(json.listName == "year") obj["default"] = ["2015", "2016"];
        else obj["default"] = [];

        mongo.connect(mongoUrl, function (err, db) {
            //db.collection("filters").drop();
            db.collection("filters").insert(obj, function (err, docs) {
                db.close();
Søren Madsen's avatar
Søren Madsen committed
            });
        });
    });
Søren Madsen's avatar
Søren Madsen committed

};

lang.forEach(function (lang) {
    params.forEach(function (param) {

        getData(lang, param, sortCounter);
        sortCounter = sortCounter + 10;
Søren Madsen's avatar
Søren Madsen committed
        //console.log(param, sortCounter, lang);
Søren Madsen's avatar
Søren Madsen committed
    });
Søren Madsen's avatar
Søren Madsen committed
});
console.timeEnd("Process");