Commit 4ed27584 authored by Johannes Bill's avatar Johannes Bill

added express test

parent 280a6482
......@@ -145,7 +145,7 @@ function getHolidays(data) {
function getAllHolidays() {
var days = [];
for(var year = startYear; year <= endYear; year++) {
days = days.concat(holidaysGetter[year].getHoliday(0));
days = days.concat(holidaysGetter[year].getAllHolidays());
}
var intervals = days.map(function (date) {
return tmUtils.singleDay(date);
......
{
"BW": ["106", "1", "111"],
"BY": ["106", "1", "815", "111"],
"BE": [],
"BB": ["131"],
"HB": [],
"HH": [],
"HE": ["1"],
"MV": ["131"],
"NI": [],
"NW": ["1", "111"],
"RP": ["1", "111"],
"SL": ["1", "815", "111"],
"SN": ["1", "131", "2"],
"ST": ["106", "131"],
"SH": [],
"TH": ["1", "131"]
}
var holidayMapping = require('./holidayMapping.json');
var specificHolidays = getRegionSpecificHolidays(holidayMapping);
console.log(specificHolidays);
function getRegionSpecificHolidays(holidayMapping) {
var ids = [];
for(var key in holidayMapping) {
var obj = holidayMapping[key];
for (var i = 0; i < obj.length; i++) {
if(ids.indexOf(obj[i]) < 0)
ids.push(obj[i]);
}
}
return ids;
}
function Holidays(year) {
/* var mapping = {
0: "Alle",
......@@ -76,20 +93,26 @@ function Holidays(year) {
var holidays = getFixedHolidays(fixedHolidays);
holidays = getVariableHolidaysMap(variableOffsets, holidays);
this.getHoliday = function (id) {
if (id == 0) {
var result = [];
for (var key in holidays) {
result.push(holidays[key]);
}
return result;
this.getHolidayIDs = function(region, kath) {
if(region === 'BY') {
}
};
this.getAllHolidays = function(region, kath) {
var result = [];
for (var key in holidays) {
result.push(holidays[key]);
}
return result;
};
this.getHoliday = function (id) {
if (id in holidays)
return [holidays[id]];
console.error("invalid holiday id " + id);
return null;
}
};
}
module.exports = Holidays;
\ No newline at end of file
......@@ -8,9 +8,10 @@ falls oeffnungszeit z.b. von 21:00 bis 4:00 muss bei 0:00 getrennt werden
saisonal,urlaub etc ueber neujahr? 23.12.2014 - 10.01.2015????
Funktionen:
openNow(json, now, regionalCode, lang, asString)
Funktionen:
openNow(json, now, plz, lang, asString)
asString
Falls geoffnet:
......
var fs = require('fs');
var file = process.env.HOME + "/Desktop/holidays.csv";
var content = fs.readFileSync(file).toString();
function extractHolidayJson(content) {
var lines = content.split('\n');
var feiertage = lines[0].split(',').slice(1);
var array = [];
for (var i = 0; i < lines.length; i++) {
var line = lines[i].split(',');
array.push(line);
}
var map = {};
for (var i = 2; i < array[0].length; i++) {
var o = array[0][i];
map[o] = [];
}
for (var i = 1; i < array.length; i++) {
var feiertag = array[i][0];
for (var j = 2; j < array[i].length; j++) {
var land = array[0][j];
var obj = array[i][j];
if (!obj.match(/\s/))
map[land].push(feiertag);
}
}
return map;
}
console.log(JSON.stringify(extractHolidayJson(content)));
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment