diff --git a/CHANGELOG.md b/CHANGELOG.md index 795bce1a..706299cd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -27,6 +27,7 @@ This project adheres to [Semantic Versioning](http://semver.org/). - Hungarian Translation. - Icelandic Translation. - Add use a script to prevent when is run by SSH session set DISPLAY enviroment. +- Enable ability to set configuration file by the enviroment variable called MM_CONFIG_FILE. ### Fixed - Update .gitignore to not ignore default modules folder. diff --git a/js/app.js b/js/app.js index 91149906..83d637b2 100644 --- a/js/app.js +++ b/js/app.js @@ -17,6 +17,10 @@ console.log("Starting MagicMirror: v" + global.version); // global absolute root path global.root_path = path.resolve(__dirname + "/../"); +if (process.env.MM_CONFIG_FILE) { + global.configuration_file = process.env.MM_CONFIG_FILE; +} + // The next part is here to prevent a major exception when there // is no internet connection. This could probable be solved better. process.on("uncaughtException", function (err) { @@ -41,7 +45,15 @@ var App = function() { var loadConfig = function(callback) { console.log("Loading config ..."); var defaults = require(__dirname + "/defaults.js"); - var configFilename = path.resolve(global.root_path + "/config/config.js"); + + // For this check proposed to TestSuite + // https://forum.magicmirror.builders/topic/1456/test-suite-for-magicmirror/8 + if (global.configuration_file === undefined ) { + var configFilename = path.resolve(global.root_path + "/config/config.js"); + } else { + var configFilename = path.resolve(global.configuration_file); + } + try { fs.accessSync(configFilename, fs.F_OK); var c = require(configFilename); diff --git a/modules/default/alert/README.md b/modules/default/alert/README.md index 89505d16..58be0570 100644 --- a/modules/default/alert/README.md +++ b/modules/default/alert/README.md @@ -7,7 +7,7 @@ To use this module, add it to the modules array in the config/config.js file: ``` modules: [ { - module: 'alert', + module: "alert", config: { // The config property is optional. // See 'Configuration options' for more information. diff --git a/modules/default/calendar/README.md b/modules/default/calendar/README.md index 06b7dd9c..d7eabe78 100644 --- a/modules/default/calendar/README.md +++ b/modules/default/calendar/README.md @@ -8,8 +8,8 @@ To use this module, add it to the modules array in the `config/config.js` file: ````javascript modules: [ { - module: 'calendar', - position: 'top_left', // This can be any of the regions. Best results in left or right regions. + module: "calendar", + position: "top_left", // This can be any of the regions. Best results in left or right regions. config: { // The config property is optional. // If no config is set, an example calendar is shown. diff --git a/modules/default/clock/README.md b/modules/default/clock/README.md index 9bd0bafd..5570ff5a 100644 --- a/modules/default/clock/README.md +++ b/modules/default/clock/README.md @@ -8,8 +8,8 @@ To use this module, add it to the modules array in the `config/config.js` file: ````javascript modules: [ { - module: 'clock', - position: 'top_left', // This can be any of the regions. + module: "clock", + position: "top_left", // This can be any of the regions. config: { // The config property is optional. // See 'Configuration options' for more information. diff --git a/modules/default/compliments/README.md b/modules/default/compliments/README.md index d8be85d2..8ef9e2fb 100644 --- a/modules/default/compliments/README.md +++ b/modules/default/compliments/README.md @@ -8,8 +8,8 @@ To use this module, add it to the modules array in the `config/config.js` file: ````javascript modules: [ { - module: 'compliments', - position: 'lower_third', // This can be any of the regions. + module: "compliments", + position: "lower_third", // This can be any of the regions. // Best results in one of the middle regions like: lower_third config: { // The config property is optional. @@ -60,14 +60,14 @@ If use the currentweather is possible use a actual weather for set compliments. config: { compliments: { day_sunny: [ - 'Today is a sunny day', - 'It\'s a beautiful day' + "Today is a sunny day", + "It's a beautiful day" ], snow: [ - 'Snowball battle!' + "Snowball battle!" ], rain: [ - 'Don\'t forget your umbrella' + "Don't forget your umbrella" ] } } @@ -79,19 +79,19 @@ config: { config: { compliments: { morning: [ - 'Good morning, handsome!', - 'Enjoy your day!', - 'How was your sleep?' + "Good morning, handsome!", + "Enjoy your day!", + "How was your sleep?" ], afternoon: [ - 'Hello, beauty!', + "Hello, beauty!", 'You look sexy!', - 'Looking good today!' + "Looking good today!" ], evening: [ - 'Wow, you look hot!', - 'You look nice!', - 'Hi, sexy!' + "Wow, you look hot!", + "You look nice!", + "Hi, sexy!" ] } } diff --git a/modules/default/currentweather/README.md b/modules/default/currentweather/README.md index 36a8a436..65913d82 100644 --- a/modules/default/currentweather/README.md +++ b/modules/default/currentweather/README.md @@ -8,14 +8,14 @@ To use this module, add it to the modules array in the `config/config.js` file: ````javascript modules: [ { - module: 'currentweather', - position: 'top_right', // This can be any of the regions. + module: "currentweather", + position: "top_right", // This can be any of the regions. // Best results in left or right regions. config: { // See 'Configuration options' for more information. - location: 'Amsterdam,Netherlands', - locationID: '', //Location ID from http://openweathermap.org/help/city_list.txt - appid: 'abcde12345abcde12345abcde12345ab' //openweathermap.org API key. + location: "Amsterdam,Netherlands", + locationID: "", //Location ID from http://openweathermap.org/help/city_list.txt + appid: "abcde12345abcde12345abcde12345ab" //openweathermap.org API key. } } ] diff --git a/modules/default/helloworld/README.md b/modules/default/helloworld/README.md index bcbd57fc..d86fce3d 100644 --- a/modules/default/helloworld/README.md +++ b/modules/default/helloworld/README.md @@ -6,11 +6,11 @@ To use this module, add it to the modules array in the `config/config.js` file: ````javascript modules: [ { - module: 'helloworld', - position: 'bottom_bar', // This can be any of the regions. + module: "helloworld", + position: "bottom_bar", // This can be any of the regions. config: { // See 'Configuration options' for more information. - text: 'Hello world!' + text: "Hello world!" } } ] diff --git a/modules/default/newsfeed/README.md b/modules/default/newsfeed/README.md index 20840806..bfaa1aad 100644 --- a/modules/default/newsfeed/README.md +++ b/modules/default/newsfeed/README.md @@ -9,8 +9,8 @@ To use this module, add it to the modules array in the `config/config.js` file: ````javascript modules: [ { - module: 'newsfeed', - position: 'bottom_bar', // This can be any of the regions. Best results in center regions. + module: "newsfeed", + position: "bottom_bar", // This can be any of the regions. Best results in center regions. config: { // The config property is optional. // If no config is set, an example calendar is shown. diff --git a/modules/default/updatenotification/README.md b/modules/default/updatenotification/README.md index 16a1b0c2..54ba213a 100644 --- a/modules/default/updatenotification/README.md +++ b/modules/default/updatenotification/README.md @@ -8,8 +8,8 @@ To use this module, add it to the modules array in the `config/config.js` file: ````javascript modules: [ { - module: 'updatenotification', - position: 'top_center', // This can be any of the regions. + module: "updatenotification", + position: "top_center", // This can be any of the regions. config: { // The config property is optional. // See 'Configuration options' for more information. diff --git a/modules/default/weatherforecast/README.md b/modules/default/weatherforecast/README.md index e2cc5028..9298c0cc 100644 --- a/modules/default/weatherforecast/README.md +++ b/modules/default/weatherforecast/README.md @@ -8,14 +8,14 @@ To use this module, add it to the modules array in the `config/config.js` file: ````javascript modules: [ { - module: 'weatherforecast', - position: 'top_right', // This can be any of the regions. + module: "weatherforecast", + position: "top_right", // This can be any of the regions. // Best results in left or right regions. config: { // See 'Configuration options' for more information. - location: 'Amsterdam,Netherlands', - locationID: '', //Location ID from http://openweathermap.org/help/city_list.txt - appid: 'abcde12345abcde12345abcde12345ab' //openweathermap.org API key. + location: "Amsterdam,Netherlands", + locationID: "", //Location ID from http://openweathermap.org/help/city_list.txt + appid: "abcde12345abcde12345abcde12345ab" //openweathermap.org API key. } } ] diff --git a/tests/global_vars/root_path.js b/tests/global_vars/root_path.js new file mode 100644 index 00000000..04edc03f --- /dev/null +++ b/tests/global_vars/root_path.js @@ -0,0 +1,25 @@ +var fs = require("fs"); +var path = require("path"); +var chai = require("chai"); +var expect = chai.expect; + +describe("Test global.root_path, set in js/app.js", function() { + var appMM = require("../../js/app.js") + + var expectedSubPaths = [ + "modules", + "serveronly", + "js", + "js/app.js", + "js/main.js", + "js/electron.js", + "config" + ]; + + expectedSubPaths.forEach(subpath => { + it(`should contain a file/folder "${subpath}"`, function() { + expect(fs.existsSync(path.join(global.root_path, subpath))).to.equal(true); + }); + }); +}); + diff --git a/translations/da.json b/translations/da.json index 4b346437..5ad271fe 100644 --- a/translations/da.json +++ b/translations/da.json @@ -25,7 +25,7 @@ "W": "V", "WNW": "VNV", "NW": "NV", - "NNW": "NNV" + "NNW": "NNV", /* UPDATE INFO */