plex-web-downloader/js/startup.js

100 lines
2.8 KiB
JavaScript
Raw Normal View History

2015-10-13 15:47:32 -04:00

2015-10-11 16:13:49 -04:00
//sur le master on cree l'interface
"use strict";
var gui = require('nw.gui');
var CustomTrayMenu = require('./js/custom-tray-menu');
var win = gui.Window.get();
global.main_win = win;
2015-10-12 03:44:48 -04:00
//Test la presence du fichier de config
var fs = require('fs.extra');
fs.exists('config.js', function(exists) {
if (!exists) {
console.log('Config.js a été ré-initialisé');
fs.copy('config.js_example','config.js');
2015-10-12 13:16:48 -04:00
var child_process = require('child_process');
// exec: spawns a shell.
2015-10-13 15:47:32 -04:00
var cp = child_process.exec('start notepad "config.js"', function(error, stdout, stderr){
2015-10-12 13:16:48 -04:00
//var gui = require('nw.gui');
//gui.App.closeAllWindows();
//global.main_server.kill();
//gui.App.quit();
});
2015-10-12 03:44:48 -04:00
2015-10-12 13:16:48 -04:00
cp.on('exit',function(stream){
var gui = require('nw.gui');
gui.App.closeAllWindows();
//global.main_server.kill();
gui.App.quit();
});
2015-10-12 03:44:48 -04:00
2015-10-12 13:16:48 -04:00
}
else{
//lancement normal
var config = require('./config');
2015-10-12 03:44:48 -04:00
2015-10-12 13:16:48 -04:00
//Prevenir des informations de config
if( typeof config.auth_user !== 'undefined' && typeof config.auth_password !== 'undefined' ){
console.log("SAFE MODE: votre serveur est protégé par mot de passe.");
2015-10-12 03:44:48 -04:00
}
else{
2015-10-12 13:16:48 -04:00
console.log("UNSAFE MODE: configurez un auth_user et auth_password dans le fichier config.js");
2015-10-12 03:44:48 -04:00
}
2015-10-11 16:13:49 -04:00
2015-10-12 13:16:48 -04:00
if( typeof config.database !== undefined){
fs.exists(config.database, function(exists) {
if (!exists) {
console.log("La base plex n'existe pas. Mettez à jour le champ DATABASE du fichier config.js");
}
else{
console.log("La base plex a bien été trouvée.");
}
});
}
else{
console.log("La base plex n'est pas définie. Mettez à jour le champ DATABASE du fichier config.js");
}
2015-10-11 16:13:49 -04:00
2015-10-12 13:16:48 -04:00
// Extend application menu for Mac OS
if (process.platform == "darwin") {
var menu = new gui.Menu({type: "menubar"});
menu.createMacBuiltin && menu.createMacBuiltin(window.document.title);
win.menu = menu;
}
2015-10-11 16:13:49 -04:00
2015-10-12 13:16:48 -04:00
var $ = function (selector) {
return document.querySelector(selector);
}
var customTray;
customTray = new CustomTrayMenu('views/custom-tray-menu.html', 'public/icon.png', {
width: 200,
height: 180
});
//lancement du serveur
var child_process = require('child_process');
2015-10-13 15:47:32 -04:00
global.main_server = child_process.exec('serveur.bat',
function (error, stdout, stderr) {
console.log('stdout: ' + stdout);
console.log('stderr: ' + stderr);
if (error !== null) {
console.log('exec error: ' + error);
}
});
2015-10-12 13:16:48 -04:00
//on tue le serveur quand on quite l'interface
process.on('exit', function (exitCode) {
child_process.kill();
});
}
2015-10-11 16:13:49 -04:00
});
2015-10-12 13:16:48 -04:00
win.hide();