import { execFile } from 'child_process' export default class Bridge { constructor() { this.cpus = [] this.getCPUs() } getCPUs() { this.run(['python/devices.py']).then( (stdout, stderr) => { this.cpus = JSON.parse(stdout) console.log(this.cpus) }).catch( (err) => { console.error('error fetching cpus:', err) }) } run(args) { return new Promise( (resolve, reject) => { console.log('>', args.join(' ')) execFile(process.env.PYTHON_BINARY, args, (err, stdout, stderr) => { if (err) return reject(err) return resolve(stdout, stderr) }) }) } }