applay-utils 1.8.25 → 1.8.27
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/.build/Server-WMS.pem +27 -0
- package/.build/config +10 -0
- package/.build/github-actions.pem +27 -0
- package/.github/workflows/action1.yml +14 -0
- package/package.json +1 -1
- package/README.md +0 -5
- package/python-scripts/aggregate.py +0 -29
- package/python-setup.js +0 -51
- package/utils/pythonFuncs.js +0 -38
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
-----BEGIN OPENSSH PRIVATE KEY-----
|
|
2
|
+
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
|
|
27
|
+
-----END OPENSSH PRIVATE KEY-----
|
package/.build/config
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
-----BEGIN OPENSSH PRIVATE KEY-----
|
|
2
|
+
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
|
|
27
|
+
-----END OPENSSH PRIVATE KEY-----
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
name: Publish Package to npmjs
|
|
2
|
+
on: [push]
|
|
3
|
+
jobs:
|
|
4
|
+
build:
|
|
5
|
+
runs-on: ubuntu-latest
|
|
6
|
+
steps:
|
|
7
|
+
- uses: actions/checkout@v3
|
|
8
|
+
- uses: actions/setup-node@v3
|
|
9
|
+
with:
|
|
10
|
+
node-version: '16.x'
|
|
11
|
+
registry-url: 'https://registry.npmjs.org'
|
|
12
|
+
- run: npm publish --access=public
|
|
13
|
+
env:
|
|
14
|
+
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
package/package.json
CHANGED
package/README.md
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
# aggregate.py
|
|
2
|
-
import sys, json
|
|
3
|
-
from pymongo import MongoClient
|
|
4
|
-
from bson.json_util import dumps # <-- IMPORTANTE
|
|
5
|
-
|
|
6
|
-
def main():
|
|
7
|
-
data = json.loads(sys.stdin.read())
|
|
8
|
-
|
|
9
|
-
mongo_url = data["mongoUrl"]
|
|
10
|
-
db_name = data["db"]
|
|
11
|
-
collection_name = data["collection"]
|
|
12
|
-
pipeline = data["pipeline"]
|
|
13
|
-
|
|
14
|
-
client = MongoClient(mongo_url, maxPoolSize=50)
|
|
15
|
-
col = client[db_name][collection_name]
|
|
16
|
-
|
|
17
|
-
cursor = col.aggregate(
|
|
18
|
-
pipeline,
|
|
19
|
-
allowDiskUse=True,
|
|
20
|
-
session=None
|
|
21
|
-
)
|
|
22
|
-
|
|
23
|
-
result = list(cursor)
|
|
24
|
-
|
|
25
|
-
# dumps() serializa ObjectId, datetime, Binary, etc
|
|
26
|
-
print(dumps(result, ensure_ascii=False))
|
|
27
|
-
|
|
28
|
-
if __name__ == "__main__":
|
|
29
|
-
main()
|
package/python-setup.js
DELETED
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
const { spawnSync } = require("child_process");
|
|
2
|
-
const fs = require("fs");
|
|
3
|
-
const path = require("path");
|
|
4
|
-
|
|
5
|
-
function findPython() {
|
|
6
|
-
for (const cmd of ["python3", "python", "py"]) {
|
|
7
|
-
const check = spawnSync(cmd, ["--version"]);
|
|
8
|
-
if (check.status === 0) return cmd;
|
|
9
|
-
}
|
|
10
|
-
return null;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
function run(cmd, args, opts = {}) {
|
|
14
|
-
const out = spawnSync(cmd, args, { stdio: "inherit", ...opts });
|
|
15
|
-
if (out.status !== 0) {
|
|
16
|
-
console.error(`❌ Falha ao rodar: ${cmd} ${args.join(" ")}`);
|
|
17
|
-
process.exit(1);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
const python = findPython();
|
|
22
|
-
if (!python) {
|
|
23
|
-
console.error("❌ Nenhum Python encontrado!");
|
|
24
|
-
process.exit(1);
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
console.log("✔ Python encontrado em:", python);
|
|
28
|
-
|
|
29
|
-
// Caminho da venv
|
|
30
|
-
const venvPath = path.join(__dirname, ".python-env");
|
|
31
|
-
|
|
32
|
-
// Criar venv se não existir
|
|
33
|
-
if (!fs.existsSync(venvPath)) {
|
|
34
|
-
console.log("📦 Criando ambiente virtual Python...");
|
|
35
|
-
run(python, ["-m", "venv", venvPath]);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
const pyBin = path.join(venvPath, "bin", "python");
|
|
39
|
-
const pipBin = path.join(venvPath, "bin", "pip");
|
|
40
|
-
|
|
41
|
-
// Verifica PyMongo dentro da venv
|
|
42
|
-
const check = spawnSync(pyBin, ["-c", "import pymongo"]);
|
|
43
|
-
if (check.status !== 0) {
|
|
44
|
-
console.log("📦 Instalando PyMongo dentro da venv...");
|
|
45
|
-
run(pyBin, ["-m", "pip", "install", "pymongo"]);
|
|
46
|
-
} else {
|
|
47
|
-
console.log("✔ PyMongo já instalado na venv.");
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
console.log("✔ Ambiente Python pronto.");
|
|
51
|
-
console.log(`PYTHON=${pyBin}`);
|
package/utils/pythonFuncs.js
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
const path = require("path");
|
|
2
|
-
const { spawn } = require("child_process");
|
|
3
|
-
|
|
4
|
-
function aggregateAsync(db, collection, pipe, options = {}) {
|
|
5
|
-
return new Promise((resolve, reject) => {
|
|
6
|
-
|
|
7
|
-
const python = path.join(__dirname, "../.python-env/bin/python");
|
|
8
|
-
const script = path.join(__dirname, "../python-scripts/aggregate.py");
|
|
9
|
-
|
|
10
|
-
const data = {
|
|
11
|
-
mongoUrl: db.databaseUrl,
|
|
12
|
-
db: db.databaseName,
|
|
13
|
-
collection,
|
|
14
|
-
pipeline: pipe
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
const payload = JSON.stringify(data);
|
|
18
|
-
|
|
19
|
-
const proc = spawn(python, [script]);
|
|
20
|
-
|
|
21
|
-
let out = "";
|
|
22
|
-
let err = "";
|
|
23
|
-
|
|
24
|
-
proc.stdout.on("data", d => out += d.toString());
|
|
25
|
-
proc.stderr.on("data", d => err += d.toString());
|
|
26
|
-
|
|
27
|
-
proc.on("close", code => {
|
|
28
|
-
if (code !== 0) return reject(new Error(err));
|
|
29
|
-
try { resolve(JSON.parse(out)); }
|
|
30
|
-
catch (e) { reject(e); }
|
|
31
|
-
});
|
|
32
|
-
|
|
33
|
-
proc.stdin.write(payload);
|
|
34
|
-
proc.stdin.end();
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
module.exports = { aggregateAsync };
|