UNPKG

lisa-box

Version:
89 lines (82 loc) 2.63 kB
/** * Bootstrap function called when Trails server is ready * @param app Trails application */ const LISA = require('../lisa') const fs = require('fs') //const serialPort = require('serialport') const mdns = require('mdns-js') const bonjour = require('bonjour')() function getArgs() { const args = {}; process.argv .slice(2, process.argv.length) .forEach( arg => { // long arg if (arg.slice(0,2) === '--') { const longArg = arg.split('='); const longArgFlag = longArg[0].slice(2,longArg[0].length); const longArgValue = longArg.length > 1 ? longArg[1] : true; args[longArgFlag] = longArgValue; } // flags else if (arg[0] === '-') { const flags = arg.slice(1,arg.length).split(''); flags.forEach(flag => { args[flag] = true; }); } }); return args; } module.exports = (app) => { app.services.WebSocketService.init() app.services.IRService.init() app.services.DiscoveryService.init() app.lisa = new LISA(app) app.bonjour = bonjour app.mdns = mdns const args = getArgs() if (args['enable-voice-commands']) { app.services.VoiceCommandsService.startVoiceCommands() } app.services.PluginService.installPlugin('lisa-plugin-example', '0.0.7', 'npm').then(() => { console.log('lisa-plugin-hue installed') }).catch((err, stack) => { console.log(err) console.log(stack) }); /*app.services.PluginService.installPlugin('lisa-plugin-hue').then(() => { console.log('lisa-plugin-hue installed') }).catch((err, stack) => { console.log(err) console.log(stack) });*/ if(app.env.NODE_ENV !== 'testing') { /*eslint-disable */ //FIXME plugins should be manage from an online store /* fs.readdirSync('./plugins').forEach(plugin => { if (plugin !== '.gitkeep') { try { app.orm.Plugin.find({ where: { name: plugin } }).then(existingPlugin => { if (existingPlugin) { return app.services.PluginService._updatePlugin(plugin).then(() => { return app.services.PluginService.enablePlugin(plugin) }) } else { return app.services.PluginService._addPlugin(plugin).then(() => { return app.services.PluginService.enablePlugin(plugin) }).catch(err => { app.log.error(err) }) } }) } catch (e) { app.log.error(e) } } })*/ /*eslint-enable */ } }