#!/usr/bin/ucode 'use strict'; import { access, popen } from 'fs'; const methods = { get_features: { call: function() { let features = { version: null, features: [], build_features: [] }; const fd = popen('/usr/bin/einat -v'); if (fd) { for (let line = fd.read('line'); length(line); line = fd.read('line')) { let ver = match(trim(line), /version: (\S+)/); if (ver) features.version = ver[1]; let feats = match(trim(line), /features: (\S+)/); if (feats) features.features = split(feats[1], ','); let build_feats = match(trim(line), /build_features: (\S+)/); if (build_feats) features.build_features = split(build_feats[1], ','); } fd.close(); } return features; } } }; return { 'luci.einat': methods };