Skip to content
Snippets Groups Projects
getvaluefromEDDI.js 1.6 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";

var params = ["ects", "period", "year", "season", "courseLevel", "faculty", "courseLanguage", "department", "location", "programme", "courseType"];
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
lang.forEach(function (lang) {
    params.forEach(function (param) {
Daniel Svane's avatar
Daniel Svane 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
        request({
            url: url,
            json: true
        }, function (e, res, json) {
            var obj = {};

            var arr = [];

Daniel Svane's avatar
Daniel Svane committed
            console.log(json);

Søren Madsen's avatar
Søren Madsen committed
            json.listItems.forEach(function (item) {
                arr.push({id: item.id, name: item[json.listName]});
            });
            obj["name"] = json.listName;
            obj["lang"] = lang;
            obj["list"] = arr;
Daniel Svane's avatar
Daniel Svane committed
            if(json.listName == "year") obj["default"] = ["2015", "2016"];
            else obj["default"] = [];
Søren Madsen's avatar
Søren Madsen committed

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