-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathutils.js
90 lines (67 loc) · 2.22 KB
/
utils.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
var path = require("path");
var _ = require("underscore");
var fs = require("fs");
exports.filename = function(folder, fund, ext){
if (ext.indexOf("?") != -1){
ext = ext.split("?")[0];
}
ext = ext.toLowerCase();
var filename = [fund.body, fund.year, fund.quarter, fund.number].join("_").toLowerCase();
var result = path.join(folder, filename) + ext;
return result;
};
exports.getFundObj = function(body, year, quarter, number, url){
var fund = {};
if (body){
fund.body = body;
}
if (year){
fund.year = year;
}
if (quarter){
fund.quarter = quarter;
}
if (number){
fund.number = number;
}
if (url){
fund.url = url;
}
return fund;
}
exports.getFundFromFile = function(filename){
var _s = filename.split("_");
return {
body : _s[0],
year : _s[1],
quarter : _s[2],
number : _s[3].split('.')[0]
};
}
exports.filterFunds = function(allFunds, body, year, quarter, fund_number) {
var chosenFunds = allFunds.filter(function(f){
return (body == undefined? true: f.body.toLowerCase() == body.toLowerCase() || ( _.isArray(body) && body.indexOf(f.body) > -1 ) )
&& (fund_number == undefined ? true: f.number == fund_number || ( _.isArray(fund_number) && fund_number.indexOf(f.number) > -1 ))
&& (year == undefined ? true: f.year == year || ( _.isArray(year) && year.indexOf(f.year) > -1 ))
&& (quarter == undefined? true: f.quarter == quarter || ( _.isArray(quarter) && quarter.indexOf(f.quarter) > -1 ))
})
return chosenFunds;
};
exports.filterFiles = function(allFiles, body, year, quarter, fund_number) {
var chosenFiles = allFiles.filter(function(file){
var f = exports.getFundFromFile(file);
return (body == undefined? true: f.body == body || ( _.isArray(body) && body.indexOf(f.body) > -1 ) )
&& (fund_number == undefined ? true: f.number == fund_number || ( _.isArray(fund_number) && fund_number.indexOf(f.number) > -1 ))
&& (year == undefined ? true: f.year == year || ( _.isArray(year) && year.indexOf(f.year) > -1 ))
&& (quarter == undefined? true: f.quarter == quarter || ( _.isArray(quarter) && quarter.indexOf(f.quarter) > -1 ))
})
return chosenFiles;
};
exports.mkdirIfNotExists = function(path){
try{
fs.statSync(path);
}
catch(e){
fs.mkdirSync(path);
}
}