-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathvmlist_loader.js
43 lines (41 loc) · 1.44 KB
/
vmlist_loader.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
const request = require("request")
const url = require("url")
const path = require("path")
exports = module.exports = {
url: "https://developer.microsoft.com/en-us/microsoft-edge/api/tools/vms/",
get: function(callback) {
request
.get({url: this.url, json: true}, function(error, response, body) {
let list = []
if (!error && response.statusCode == 200) {
body.forEach(function(element) {
element.software.forEach(function(environment) {
if (environment.name == "Vagrant") {
let item = null
environment.files.filter(function(file) {
if (file.url.substr(-4) == ".zip") {
let parsedUrl = url.parse(file.url)
let filename = path.basename(parsedUrl.path)
let basename = path.basename(filename, ".zip")
item = {
name: element.name,
url: file.url,
parsed_url: parsedUrl,
filename: filename,
basename: basename,
boxname: path.basename(basename, ".Vagrant"),
box_path: `./boxes/${basename}.box`,
}
}
})
if (item) {
list.push(item)
}
}
})
})
}
callback(list)
})
},
}