pinokiod 2.15.24 → 2.15.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/kernel/api/hf/index.js +37 -0
- package/kernel/util.js +10 -1
- package/package.json +2 -1
- package/server/index.js +14 -0
- package/server/views/browser-experimental.ejs +23 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
const path = require('path')
|
|
2
|
+
const unparse = require('yargs-unparser-custom-flag');
|
|
3
|
+
const Shell = require('../shell')
|
|
4
|
+
class HF {
|
|
5
|
+
/*
|
|
6
|
+
{
|
|
7
|
+
"method": "hf.download",
|
|
8
|
+
"params": {
|
|
9
|
+
path: <cwd>,
|
|
10
|
+
env: {
|
|
11
|
+
<env1>: <val1>,
|
|
12
|
+
<env1>: <val1>,
|
|
13
|
+
<env1>: <val1>,
|
|
14
|
+
},
|
|
15
|
+
_: [<command line args>'],
|
|
16
|
+
<arg1>: <val1>,
|
|
17
|
+
<arg2>: <val2>,
|
|
18
|
+
...
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
*/
|
|
22
|
+
async download(req, ondata, kernel) {
|
|
23
|
+
const shell = new Shell()
|
|
24
|
+
console.log("params before", req.params)
|
|
25
|
+
let params = Object.assign({}, req.params)
|
|
26
|
+
delete params.env
|
|
27
|
+
delete params.path
|
|
28
|
+
let chunks = unparse(params)
|
|
29
|
+
let message = `huggingface-cli download ${chunks.join(" ")}`
|
|
30
|
+
console.log({ message, before: req.params.message })
|
|
31
|
+
req.params.message = message
|
|
32
|
+
console.log("params after", req.params)
|
|
33
|
+
let res = await shell.run(req, ondata, kernel)
|
|
34
|
+
return res
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
module.exports = HF
|
package/kernel/util.js
CHANGED
|
@@ -15,6 +15,15 @@ const returnPattern = /\r/g;
|
|
|
15
15
|
const returnReplacement = "\\r";
|
|
16
16
|
|
|
17
17
|
|
|
18
|
+
const { promisify } = require('util')
|
|
19
|
+
const fastFolderSize = require('fast-folder-size')
|
|
20
|
+
const fastFolderSizeAsync = promisify(fastFolderSize)
|
|
21
|
+
|
|
22
|
+
const du = (folderpath) => {
|
|
23
|
+
return fastFolderSizeAsync(folderpath)
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
|
|
18
27
|
const port_running = async (host, port) => {
|
|
19
28
|
const timeout = 1000
|
|
20
29
|
const promise = new Promise((resolve, reject) => {
|
|
@@ -165,5 +174,5 @@ const update_env = async (filepath, changes) => {
|
|
|
165
174
|
await fs.promises.writeFile(filepath, newval)
|
|
166
175
|
};
|
|
167
176
|
module.exports = {
|
|
168
|
-
parse_env, api_path, update_env, parse_env_detail, openfs, port_running
|
|
177
|
+
parse_env, api_path, update_env, parse_env_detail, openfs, port_running, du
|
|
169
178
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "pinokiod",
|
|
3
|
-
"version": "2.15.
|
|
3
|
+
"version": "2.15.25",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -27,6 +27,7 @@
|
|
|
27
27
|
"express-http-proxy-cp": "^2.0.3",
|
|
28
28
|
"express-session": "^1.17.3",
|
|
29
29
|
"fake-useragent": "^1.0.1",
|
|
30
|
+
"fast-folder-size": "^2.3.0",
|
|
30
31
|
"fastq": "^1.15.0",
|
|
31
32
|
"fs-extra": "^11.1.1",
|
|
32
33
|
"glob": "^10.3.3",
|
package/server/index.js
CHANGED
|
@@ -305,8 +305,14 @@ class Server {
|
|
|
305
305
|
}
|
|
306
306
|
const env = await this.kernel.env("api/" + name)
|
|
307
307
|
|
|
308
|
+
//let d2 = await Util.du(this.kernel.homedir)
|
|
309
|
+
|
|
310
|
+
//console.log("d2",d2)
|
|
311
|
+
|
|
308
312
|
//res.render("browser", {
|
|
309
313
|
res.render("browser-experimental", {
|
|
314
|
+
// d1,
|
|
315
|
+
// d2,
|
|
310
316
|
env,
|
|
311
317
|
mode,
|
|
312
318
|
port: this.port,
|
|
@@ -2586,6 +2592,14 @@ class Server {
|
|
|
2586
2592
|
agent: this.agent,
|
|
2587
2593
|
})
|
|
2588
2594
|
}))
|
|
2595
|
+
this.app.get("/du/:name", ex(async (req, res) => {
|
|
2596
|
+
let p = this.kernel.path("api", req.params.name)
|
|
2597
|
+
console.time("a")
|
|
2598
|
+
let d1 = await Util.du(p)
|
|
2599
|
+
console.log("d1", d1)
|
|
2600
|
+
console.timeEnd("a")
|
|
2601
|
+
res.json({ du: d1 })
|
|
2602
|
+
}))
|
|
2589
2603
|
this.app.get("/edit/*", ex(async (req, res) => {
|
|
2590
2604
|
let pathComponents = req.params[0].split("/")
|
|
2591
2605
|
let filepath = path.resolve(this.kernel.homedir, req.params[0])
|
|
@@ -529,6 +529,12 @@ body.dark .loader-container {
|
|
|
529
529
|
display: flex;
|
|
530
530
|
}
|
|
531
531
|
}
|
|
532
|
+
.disk-usage {
|
|
533
|
+
}
|
|
534
|
+
.disk-usage i {
|
|
535
|
+
margin-right: 5px;
|
|
536
|
+
font-size: 16px !important;
|
|
537
|
+
}
|
|
532
538
|
</style>
|
|
533
539
|
</head>
|
|
534
540
|
<body class='<%=theme%>' data-platform="<%=platform%>">
|
|
@@ -549,6 +555,7 @@ body.dark .loader-container {
|
|
|
549
555
|
<i class="fa-regular fa-circle-dot"></i>
|
|
550
556
|
<% } %>
|
|
551
557
|
<div><%=config.title%></div>
|
|
558
|
+
<div class='disk-usage'></div>
|
|
552
559
|
</div>
|
|
553
560
|
</div>
|
|
554
561
|
<div class='m n system' data-type="n">
|
|
@@ -1471,6 +1478,22 @@ window.addEventListener('message', (event) => {
|
|
|
1471
1478
|
|
|
1472
1479
|
|
|
1473
1480
|
});
|
|
1481
|
+
fetch("/du/<%=name%>").then((res) => {
|
|
1482
|
+
return res.json()
|
|
1483
|
+
}).then((res) => {
|
|
1484
|
+
let val
|
|
1485
|
+
if (res.du > 1000 * 1000 * 1000) {
|
|
1486
|
+
// GB
|
|
1487
|
+
val = `${Math.floor(res.du/1000/1000/1000 * 100) / 100} GB`
|
|
1488
|
+
} else if (res.du > 1000 * 1000) {
|
|
1489
|
+
// MB
|
|
1490
|
+
val = `${Math.floor(res.du/1000/1000 * 100) / 100} MB`
|
|
1491
|
+
} else {
|
|
1492
|
+
// KB
|
|
1493
|
+
val = `${Math.floor(res.du/1000 * 100) / 100} KB`
|
|
1494
|
+
}
|
|
1495
|
+
document.querySelector(".disk-usage").innerHTML = `<i class="fa-regular fa-hard-drive"></i> ${val}`
|
|
1496
|
+
})
|
|
1474
1497
|
/*
|
|
1475
1498
|
document.addEventListener("keydown", (e) => {
|
|
1476
1499
|
let size = document.querySelectorAll(".selectable").length
|