pinokiod 2.15.24 → 2.15.26

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.
@@ -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,19 @@ 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
+
21
+ const { getDirSize, getDirSizeSync } = require('fast-dir-size')
22
+
23
+ const fastFolderSizeAsync = promisify(fastFolderSize)
24
+
25
+ const du = (folderpath) => {
26
+ //return fastFolderSizeAsync(folderpath)
27
+ return getDirSize(folderpath)
28
+ }
29
+
30
+
18
31
  const port_running = async (host, port) => {
19
32
  const timeout = 1000
20
33
  const promise = new Promise((resolve, reject) => {
@@ -165,5 +178,5 @@ const update_env = async (filepath, changes) => {
165
178
  await fs.promises.writeFile(filepath, newval)
166
179
  };
167
180
  module.exports = {
168
- parse_env, api_path, update_env, parse_env_detail, openfs, port_running
181
+ parse_env, api_path, update_env, parse_env_detail, openfs, port_running, du
169
182
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pinokiod",
3
- "version": "2.15.24",
3
+ "version": "2.15.26",
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-dir-size": "^1.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