UNPKG

1.04 kBJavaScriptView Raw
1'use strict';
2
3var co = require('co');
4var scraper = require('./scraper');
5var statsCalculator = require('./stats');
6var personal = require('./personal');
7var parser = require('./parser');
8var demo = require('./demo');
9
10function all(username, password, fetch, feedback) {
11 return co(function *() {
12 if (!username) {
13 throw new Error('NO_USERNAME');
14 }
15 if (!password) {
16 throw new Error('NO_PASSWORD');
17 }
18 if (username === 'bestande' && password === 'bestande') {
19 return demo;
20 }
21 let result = yield scraper.get(username, password, fetch, feedback);
22 let credits = parser.fromHTML(result.html);
23 let stats = statsCalculator.calculate(credits);
24 let directions = personal.getStudyDirection(result.html);
25 let identity = {
26 name: personal.getName(result.html),
27 matriculateNumber: personal.getMatriculateNumber(result.html)
28 };
29 return {
30 stats,
31 directions,
32 credits,
33 identity,
34 success: true,
35 version: 6
36 };
37 });
38}
39
40module.exports = {
41 all,
42 scraper,
43 stats: statsCalculator,
44 personal,
45 parser
46};