-
Notifications
You must be signed in to change notification settings - Fork 0
/
utils.js
60 lines (53 loc) · 1.59 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
var fs = require('fs');
var concat = require('concat-stream');
var toml = require('toml');
module.exports = {
check_file_existence: function(name) {
if (!fs.existsSync(name)) {
return false;
}
return true;
},
check_dir_existence: function(name) {
if (!fs.existsSync(name)) {
return false;
}
if (!fs.statSync(name).isDirectory()) {
return false;
}
return true;
},
get_dirs: function(dir) {
fileList = [];
var files = fs.readdirSync(dir);
for(var i in files){
if (!files.hasOwnProperty(i)) continue;
var name = dir+'/'+files[i];
if (fs.statSync(name).isDirectory()){
fileList.push(files[i]);
}
}
return fileList;
},
pad: function(num) {
var s = num+"";
while (s.length < 2) s = "0" + s;
return s;
},
parse_toml: function(file_name, callback) {
if (!this.check_file_existence(file_name)) {
return callback(new Error('The file is not present'));
}
fs.createReadStream(file_name, 'utf8').pipe(concat(function(data) {
try {
var data = toml.parse(data);
} catch (e) {
console.error("Error parsing the " + file_name + " file");
console.error("Parsing error on line " + e.line + ", column " + e.column +
": " + e.message);
return callback(e);
}
return callback(null, data);
}));
}
}