mirror of
https://github.com/Telecominfraproject/wlan-ap.git
synced 2025-11-02 03:17:48 +00:00
ucentral-schema: add ASB bundle.uc
Fixes: WIFI-10967 Signed-off-by: John Crispin <john@phrozen.org>
This commit is contained in:
@@ -0,0 +1,64 @@
|
|||||||
|
push(REQUIRE_SEARCH_PATH, '/usr/share/ucentral/*.uc');
|
||||||
|
|
||||||
|
let ubus = require('ubus').connect();
|
||||||
|
let uci = require('uci').cursor();
|
||||||
|
let fs = require('fs');
|
||||||
|
let w_iface = require('wifi.iface');
|
||||||
|
let w_sta = require('wifi.station');
|
||||||
|
|
||||||
|
return {
|
||||||
|
init: function(id) {
|
||||||
|
this.id = id || 0;
|
||||||
|
this.path = `/tmp/bundle.${this.id}/`;
|
||||||
|
fs.mkdir(this.path);
|
||||||
|
},
|
||||||
|
|
||||||
|
complete: function() {
|
||||||
|
if (!this.path)
|
||||||
|
return;
|
||||||
|
system(`tar cfz /tmp/bundle.${this.id}.tar.gz ${this.path}`);
|
||||||
|
system(`rm -r ${this.path}`);
|
||||||
|
},
|
||||||
|
|
||||||
|
add: function(name, data) {
|
||||||
|
if (!this.path)
|
||||||
|
return;
|
||||||
|
let file = fs.open(this.path + name, 'w');
|
||||||
|
file.write(data);
|
||||||
|
file.close();
|
||||||
|
},
|
||||||
|
|
||||||
|
ubus: function(object, method, args) {
|
||||||
|
if (!object || !method)
|
||||||
|
return;
|
||||||
|
|
||||||
|
let data = ubus.call(object, method, args || {});
|
||||||
|
this.add(`ubus-${object}:${method}`, data);
|
||||||
|
},
|
||||||
|
|
||||||
|
uci: function(config, section) {
|
||||||
|
if (!config)
|
||||||
|
return;
|
||||||
|
|
||||||
|
let data = uci.get_all(config, section) || {};
|
||||||
|
let name = `uci-${config}` + (section ? `.${section}` : '');
|
||||||
|
this.add(name, data);
|
||||||
|
},
|
||||||
|
|
||||||
|
wifi: function() {
|
||||||
|
this.add('wifi-iface', w_iface);
|
||||||
|
this.add('wifi-station', w_sta);
|
||||||
|
},
|
||||||
|
|
||||||
|
shell: function(name, command) {
|
||||||
|
if (!command)
|
||||||
|
command = name;
|
||||||
|
|
||||||
|
let fp = fs.popen(command);
|
||||||
|
let data = fp.read('all');
|
||||||
|
fp.close();
|
||||||
|
|
||||||
|
this.add(`shell-${name}`, data);
|
||||||
|
},
|
||||||
|
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user