Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
O
opening-hours
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
regionalkauf
opening-hours
Commits
4ed27584
Commit
4ed27584
authored
Jul 08, 2014
by
Johannes Bill
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
added express test
parent
280a6482
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
98 additions
and
12 deletions
+98
-12
dateArray.js
lib/dateArray.js
+1
-1
holidayMapping.json
lib/holidayMapping.json
+18
-0
holidays.js
lib/holidays.js
+32
-9
todo
todo
+3
-2
parseHolidays.js
util/parseHolidays.js
+44
-0
No files found.
lib/dateArray.js
View file @
4ed27584
...
@@ -145,7 +145,7 @@ function getHolidays(data) {
...
@@ -145,7 +145,7 @@ function getHolidays(data) {
function
getAllHolidays
()
{
function
getAllHolidays
()
{
var
days
=
[];
var
days
=
[];
for
(
var
year
=
startYear
;
year
<=
endYear
;
year
++
)
{
for
(
var
year
=
startYear
;
year
<=
endYear
;
year
++
)
{
days
=
days
.
concat
(
holidaysGetter
[
year
].
get
Holiday
(
0
));
days
=
days
.
concat
(
holidaysGetter
[
year
].
get
AllHolidays
(
));
}
}
var
intervals
=
days
.
map
(
function
(
date
)
{
var
intervals
=
days
.
map
(
function
(
date
)
{
return
tmUtils
.
singleDay
(
date
);
return
tmUtils
.
singleDay
(
date
);
...
...
lib/holidayMapping.json
0 → 100644
View file @
4ed27584
{
"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"
]
}
lib/holidays.js
View file @
4ed27584
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
)
{
function
Holidays
(
year
)
{
/* var mapping = {
/* var mapping = {
0: "Alle",
0: "Alle",
...
@@ -76,20 +93,26 @@ function Holidays(year) {
...
@@ -76,20 +93,26 @@ function Holidays(year) {
var
holidays
=
getFixedHolidays
(
fixedHolidays
);
var
holidays
=
getFixedHolidays
(
fixedHolidays
);
holidays
=
getVariableHolidaysMap
(
variableOffsets
,
holidays
);
holidays
=
getVariableHolidaysMap
(
variableOffsets
,
holidays
);
this
.
getHoliday
=
function
(
id
)
{
this
.
getHolidayIDs
=
function
(
region
,
kath
)
{
if
(
id
==
0
)
{
if
(
region
===
'BY'
)
{
}
};
this
.
getAllHolidays
=
function
(
region
,
kath
)
{
var
result
=
[];
var
result
=
[];
for
(
var
key
in
holidays
)
{
for
(
var
key
in
holidays
)
{
result
.
push
(
holidays
[
key
]);
result
.
push
(
holidays
[
key
]);
}
}
return
result
;
return
result
;
}
};
this
.
getHoliday
=
function
(
id
)
{
if
(
id
in
holidays
)
if
(
id
in
holidays
)
return
[
holidays
[
id
]];
return
[
holidays
[
id
]];
console
.
error
(
"invalid holiday id "
+
id
);
console
.
error
(
"invalid holiday id "
+
id
);
return
null
;
return
null
;
}
};
}
}
module
.
exports
=
Holidays
;
module
.
exports
=
Holidays
;
\ No newline at end of file
todo
View file @
4ed27584
...
@@ -8,9 +8,10 @@ falls oeffnungszeit z.b. von 21:00 bis 4:00 muss bei 0:00 getrennt werden
...
@@ -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????
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
asString
Falls geoffnet:
Falls geoffnet:
...
...
util/parseHolidays.js
0 → 100644
View file @
4ed27584
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
)));
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment