-
Notifications
You must be signed in to change notification settings - Fork 0
/
sync-assets.js
57 lines (53 loc) · 2.16 KB
/
sync-assets.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
const https = require("https"); // or 'https' for https:// URLs
const fs = require("fs");
const path = require("path");
const request = require("request");
const urlExists = (url) =>
new Promise((resolve, reject) =>
request
.head(url)
.on("response", (res) => resolve(res.statusCode.toString()[0] === "2"))
);
console.log("Downloading assets");
const assets = [
"https://dih.bosc.lv/statistical-predictions/assets/vidzeme.json",
"https://dih.bosc.lv/statistical-predictions/assets/administrativas_teritorijas_2021_2.json",
"https://raw.githubusercontent.com/eurostat/Nuts2json/master/2016/4326/20M/nutsrg_0.json",
"https://raw.githubusercontent.com/eurostat/Nuts2json/master/2016/4326/20M/nutsrg_1.json",
"https://raw.githubusercontent.com/eurostat/Nuts2json/master/2016/4326/20M/nutsrg_2.json",
"https://raw.githubusercontent.com/eurostat/Nuts2json/master/2016/4326/20M/nutsrg_3.json",
"https://dih.bosc.lv/statistical-predictions/assets/life_satisfaction_over_16.csv",
"https://dih.bosc.lv/statistical-predictions/assets/energy_consumption.csv",
"https://dih.bosc.lv/statistical-predictions/assets/upload.gif",
"https://dih.bosc.lv/statistical-predictions/assets/time-series.gif",
"https://dih.bosc.lv/statistical-predictions/assets/map.gif",
"https://dih.bosc.lv/statistical-predictions/assets/correlation.gif",
"https://dih.bosc.lv/statistical-predictions/assets/regression.gif",
"https://dih.bosc.lv/statistical-predictions/assets/predict.gif",
];
var dir = __dirname + '/assets';
if (!fs.existsSync(dir)) {
fs.mkdirSync(dir, 0744);
}
(async () => {
for (let a of assets) {
const fileName = path.basename(a);
const targetFilePath = `assets/${fileName}`;
if (fs.existsSync(targetFilePath)){
console.log(`${targetFilePath} exists. Skipping..`)
continue;
}
if ((await urlExists(a))) {
const file = fs.createWriteStream(targetFilePath);
https.get(a, function (response) {
response.pipe(file);
file.on("finish", () => {
file.close();
console.log(`Download ${a} Completed`);
});
});
} else {
console.log(`${a} doesn't exist`);
}
}
})();