-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.js
41 lines (36 loc) · 1.09 KB
/
index.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
var fs = require("fs");
const fetch = require("node-fetch");
const storedUrls = require("./urls");
const downloadFile = async (url, og, path) => {
let res = await fetch(url);
if (res.status != 200) res = await fetch(og);
const fileStream = fs.createWriteStream(path);
await new Promise((resolve, reject) => {
res.body.pipe(fileStream);
res.body.on("error", (err) => {
reject(err);
});
fileStream.on("finish", function () {
resolve();
});
});
};
storedUrls.urls.forEach((url, index) => {
const fileExtension = url.slice(url.length - 3, url.length);
const fullsizeUrl =
`https://i.pinimg.com/originals/` + url.slice(26, url.length);
const fileName = url.slice(url.length - 10, url.length - 4);
console.log(`${index}::\t ${fileName} \t extension:.${fileExtension}`);
// UNIX BASED FILE SYSTEM
downloadFile(
fullsizeUrl,
url,
__dirname + `//output//${fileName}.${fileExtension}`
);
// WINDOWS BASED FILE SYSTEM
// downloadFile(
// fullsizeUrl,
// url,
// __dirname + `\\output\\${fileName}.${fileExtension}`
// );
});