UNPKG

1.7 kBJavaScriptView Raw
1'use strict';
2
3const START_INDICATOR_DIRECTION = '!-- [ Studiengang';
4const END_INDICATOR_DIRECTION = '] -->';
5
6const START_INDICATOR_NAME = '<!-- [ Name Vorname';
7const END_INDICATOR_NAME = '<!-- [ Matrikelnummer';
8
9const START_INDICATOR_MATRICULATE_NO = '<!-- [ Matrikelnummer';
10const END_INDICATOR_MATRICULATE_NO = '<!-- [ END INCLUDE';
11
12var cheerio = require('cheerio-without-node-native');
13var _ = require('underscore');
14
15exports.getStudyDirection = function (html) {
16 let start = html.indexOf(START_INDICATOR_DIRECTION);
17 let trimmed = html.substr(start + START_INDICATOR_DIRECTION.length);
18 let end = trimmed.indexOf(END_INDICATOR_DIRECTION);
19
20 let form = trimmed.substr(0, end);
21
22 let $ = cheerio.load(form);
23 let options = _.map($('select option'), option => {
24 return {code: $(option).attr('value'), name: $(option).text()};
25 });
26 return options;
27};
28
29exports.getName = function (html) {
30 let start = html.indexOf(START_INDICATOR_NAME);
31 let trimmed = html.substr(start + START_INDICATOR_NAME.length);
32 let end = trimmed.indexOf(END_INDICATOR_NAME);
33
34 let tr = trimmed.substr(0, end);
35 let $ = cheerio.load(tr);
36 let name = $('td.datenwert').text();
37 let split = name.split(',').map(n => n.trim());
38 let last = split[0];
39 let first = split[1];
40 return {
41 last,
42 first
43 };
44};
45
46exports.getMatriculateNumber = function (html) {
47 let start = html.indexOf(START_INDICATOR_MATRICULATE_NO);
48 let trimmed = html.substr(start + START_INDICATOR_MATRICULATE_NO.length);
49 let end = trimmed.indexOf(END_INDICATOR_MATRICULATE_NO);
50
51 let tr = trimmed.substr(0, end);
52 let $ = cheerio.load(tr);
53 return $('td.datenwert').text();
54};