From 54edcddbc163c83385e291761ca1220cebf31953 Mon Sep 17 00:00:00 2001 From: TheDuffman85 Date: Wed, 10 Feb 2021 00:51:31 +0100 Subject: [PATCH 01/11] Added properties decimalSeparator and superscriptNine --- MMM-Fuel.js | 27 ++++++++++++++++++++++++++- README.md | 2 ++ 2 files changed, 28 insertions(+), 1 deletion(-) diff --git a/MMM-Fuel.js b/MMM-Fuel.js index 3ff3c63..0f2d77b 100644 --- a/MMM-Fuel.js +++ b/MMM-Fuel.js @@ -72,6 +72,8 @@ Module.register('MMM-Fuel', { * @property {int} updateInterval - Speed of update. * @property {string} provider - API provider of the data. * @property {boolean} toFixed - Flag to show price with only 2 decimals. + * @property {string} decimalSeparator - decimal separator for numbers. + * @property {boolean} superscriptNine - display the last nine after decimal seperator as superscript nine. */ defaults: { radius: 5, @@ -93,7 +95,9 @@ Module.register('MMM-Fuel', { rotateInterval: 60 * 1000, // every minute updateInterval: 15 * 60 * 1000, // every 15 minutes provider: 'tankerkoenig', - toFixed: false + toFixed: false, + decimalSeparator: '.', + superscriptNine: false, }, /** @@ -412,5 +416,26 @@ Module.register('MMM-Fuel', { return `${this.config.toFixed ? price.toFixed(2) : price} ${this.currencies[this.priceList.currency]}`; }); + this.nunjucksEnvironment().addFilter('decimalSeparator', text => { + + let temp = text.toString(); + + if (this.config.decimalSeparator !== '.') { + temp = `${temp.replace(/\./g, this.config.decimalSeparator)}`; + } + return temp; + }); + this.nunjucksEnvironment().addFilter('superscriptNine', price => { + + let temp = price.toString(); + + const lastChar = temp.substr(temp.length - 1) + + if (this.config.superscriptNine && !this.config.toFixed && lastChar === '9') { + + temp = `${temp.slice(0, -1)}⁹`; + } + return temp; + }); } }); diff --git a/README.md b/README.md index 00e51fb..46453bc 100644 --- a/README.md +++ b/README.md @@ -62,6 +62,8 @@ Gas Station Price Module for MagicMirror2 | `rotate` | `true` | Boolean to enable/disable rotation between sort by price and distance. | | `rotateInterval` | `60000` (1 min) | How fast the sorting should be switched between byPrice and byDistance. | | `updateInterval` | `900000` (15 mins) | How often should the data be fetched. **If your value is to small, you risk to get banned from the API provider. I suggest a minimum of 15mins** | +| `decimalSeparator` | `.` | Decimal separator for numbers. | +| `superscriptNine` | `false` | Display the last nine after decimal seperator as superscript nine. | ### tankerkoenig (Germany only) From e9bc01dd2c29d220cdb136e66ce7c91ed9aed7a7 Mon Sep 17 00:00:00 2001 From: TheDuffman85 Date: Wed, 10 Feb 2021 00:51:50 +0100 Subject: [PATCH 02/11] Added properties decimalSeparator and superscriptNine --- templates/MMM-Fuel.njk | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/templates/MMM-Fuel.njk b/templates/MMM-Fuel.njk index 7c82329..56fb529 100644 --- a/templates/MMM-Fuel.njk +++ b/templates/MMM-Fuel.njk @@ -43,11 +43,11 @@ {{ gasStation.name | shortenText | safe }} {% for type in config.types %} {% if includes(priceList.types, type) %} - {{ gasStation.prices[type] | formatPrice }} + {{ gasStation.prices[type] | superscriptNine | formatPrice | decimalSeparator | safe }} {% endif %} {% endfor %} {% if config.showDistance %} - {{ gasStation.distance }} {{ priceList.unit }} + {{ gasStation.distance | decimalSeparator }} {{ priceList.unit }} {% endif %} {% if config.open %} From 2f1ba7c72d2e17ded32dfb04bae9ff3972ddb288 Mon Sep 17 00:00:00 2001 From: TheDuffman85 Date: Mon, 15 Feb 2021 17:29:59 +0100 Subject: [PATCH 03/11] Added property station to tankerkoenig api. This property allows you to optionally specify an array of fuel station ids which will be loaded in addition to the radius search. --- .gitignore | 2 + README.md | 1 + apis/tankerkoenig.js | 93 ++++++++++++++++++++++++++++++++++++++------ package-lock.json | 7 +++- package.json | 3 +- 5 files changed, 92 insertions(+), 14 deletions(-) diff --git a/.gitignore b/.gitignore index 2164140..e4160f9 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,5 @@ jspm_packages .node_repl_history docs/ +debug.js +.vscode/launch.json diff --git a/README.md b/README.md index 46453bc..bf59225 100644 --- a/README.md +++ b/README.md @@ -75,6 +75,7 @@ or your API access will be suspended. | `api_key` | REQUIRED | Get an API key for free access to the data of [tankerkoenig.de](https://creativecommons.tankerkoenig.de/#register). | | `types` | `["diesel"]` | Valid options are `diesel`, `e5` and `e10`. | | `radius` | `5` | Valid range is 1-25. | +| `stations` | `[]` | Optional array of fuel station ids to include in additon to the radius. You can find the ids [here](https://creativecommons.tankerkoenig.de/TankstellenFinder/index.html). | ### spritpreisrechner (Austria only) diff --git a/apis/tankerkoenig.js b/apis/tankerkoenig.js index a88bf64..67ccff2 100644 --- a/apis/tankerkoenig.js +++ b/apis/tankerkoenig.js @@ -13,21 +13,40 @@ */ const fetch = require('node-fetch'); -const BASE_URL = 'https://creativecommons.tankerkoenig.de/json/list.php'; +/** + * @external geolib + * @see https://www.npmjs.com/package/geolib + */ +const geolib = require('geolib'); + +const BASE_URL_RADIUS = 'https://creativecommons.tankerkoenig.de/json/list.php'; +const BASE_URL_STATION = 'https://creativecommons.tankerkoenig.de/json/detail.php'; let config; /** - * @function generateUrl + * @function generateUrlRadius * @description Helper function to generate API request url. * * @returns {string} url */ -function generateUrl() { - return `${BASE_URL}?lat=${config.lat}&lng=${config.lng}&rad=${config.radius}&type=all&apikey=${ +function generateUrlRadius() { + return `${BASE_URL_RADIUS}?lat=${config.lat}&lng=${config.lng}&rad=${config.radius}&type=all&apikey=${ config.api_key}&sort=dist`; } +/** + * @function generateUrlStation + * @description Helper function to generate API request url. + * + * @param {Object} id - Gas Station id + * + * @returns {string} url + */ +function generateUrlStation(id) { + return `${BASE_URL_STATION}?id=${id}&apikey=${config.api_key}`; +} + /** * @function sortByPrice * @description Helper function to sort gas stations by price. @@ -47,6 +66,25 @@ function sortByPrice(a, b) { return a[config.sortBy] - b[config.sortBy]; } +/** + * @function sortByDistance + * @description Helper function to sort gas stations by distance. + * + * @param {Object} a - Gas Station + * @param {Object} b - Gas Station + * + * @returns {number} Sorting weight. + */ +function sortByDistance(a, b) { + if (b.dist === 0) { + return Number.MIN_SAFE_INTEGER; + } else if (a.dist === 0) { + return Number.MAX_SAFE_INTEGER; + } + + return a.dist - b.dist; +} + /** * @function filterStations * @description Helper function to filter gas stations. @@ -100,19 +138,50 @@ function normalizeStations(value, index, stations) { * @see apis */ async function getData() { - const response = await fetch(generateUrl()); - const parsedResponse = await response.json(); - + let response = await fetch(generateUrlRadius()); + let parsedResponse = await response.json(); if (!parsedResponse.ok) { - throw new Error('Error no fuel data'); + throw new Error('Error no fuel radius data'); + } + + // Add stations by radius + const stations = parsedResponse.stations; + + if (Array.isArray(config.stations)) { + for (let i = 0; i < config.stations.length; i += 1) { + response = await fetch(generateUrlStation(config.stations[i])); + parsedResponse = await response.json(); + + if (!parsedResponse.ok) { + throw new Error('Error no fuel station detail'); + } + + const station = parsedResponse.station; + + // Calculate distance in meters + const distanceMeters = station.distance = geolib.getDistance({ + latitude: config.lat, + longitude: config.lng, + }, { + latitude: station.lat, + longitude: station.lng, + }); + + station.dist = (distanceMeters / 1000).toFixed(1); + + // Add station detail + stations.push(station) + } } - const stations = parsedResponse.stations.filter(filterStations); + const stationsFiltered = stations.filter(filterStations); + stationsFiltered.forEach(normalizeStations); - stations.forEach(normalizeStations); + const distance = stationsFiltered.slice(0); + distance.sort(sortByDistance); - const price = stations.slice(0); + const price = stationsFiltered.slice(0); price.sort(sortByPrice); return { @@ -120,7 +189,7 @@ async function getData() { unit: 'km', currency: 'EUR', byPrice: price, - byDistance: stations + byDistance: distance }; } diff --git a/package-lock.json b/package-lock.json index e6ca569..60f7dfd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "mmm-fuel", - "version": "2.1.1", + "version": "2.1.2", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -1540,6 +1540,11 @@ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true }, + "geolib": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/geolib/-/geolib-3.3.1.tgz", + "integrity": "sha512-sfahBXFcgELdpumDZV5b3KWiINkZxC5myAkLk067UUcTmTXaiE9SWmxMEHztn/Eus4JX6kesHxaIuZlniYgUtg==" + }, "get-intrinsic": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.2.tgz", diff --git a/package.json b/package.json index 3193854..46ca9fe 100644 --- a/package.json +++ b/package.json @@ -31,6 +31,7 @@ "dependencies": { "fs-extra": "^9.0.1", "moment": "^2.29.1", - "node-fetch": "^2.6.1" + "node-fetch": "^2.6.1", + "geolib": "3.3.1" } } From 61d2ece5c6cbdfd7a90692b2b32ad5f3097844b9 Mon Sep 17 00:00:00 2001 From: Felix Wiedenbach Date: Sun, 21 Feb 2021 20:11:04 +0100 Subject: [PATCH 04/11] number format based on locale, 3 fraction digit as sup text --- .github/global.png | Bin 0 -> 19476 bytes MMM-Fuel.js | 59 ++++++++++++++++---------------------- README.md | 12 ++++++-- apis/nsw.js | 2 +- apis/spritpreisrechner.js | 2 +- apis/tankerkoenig.js | 2 +- templates/MMM-Fuel.njk | 4 +-- 7 files changed, 40 insertions(+), 41 deletions(-) create mode 100644 .github/global.png diff --git a/.github/global.png b/.github/global.png new file mode 100644 index 0000000000000000000000000000000000000000..5949bbc03241b238b5665f9d2b4b7639ceb41ac1 GIT binary patch literal 19476 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

igT-+~kim$@i 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 { - - let temp = text.toString(); - - if (this.config.decimalSeparator !== '.') { - temp = `${temp.replace(/\./g, this.config.decimalSeparator)}`; + let prefix = ''; + if (typeof price === 'string') { + prefix = price[0]; + price = parseFloat(price.slice(1)); } - return temp; - }); - this.nunjucksEnvironment().addFilter('superscriptNine', price => { - let temp = price.toString(); + const fractionDigits = this.config.toFixed ? 2 : 3; - const lastChar = temp.substr(temp.length - 1) + const priceParts = new Intl.NumberFormat(config.locale, { + style: 'currency', + currency: this.priceList.currency, + minimumFractionDigits: fractionDigits, + maximumFractionDigits: fractionDigits + }).formatToParts(price); - if (this.config.superscriptNine && !this.config.toFixed && lastChar === '9') { + return prefix + priceParts.map(part => { + if (!this.config.toFixed && part.type === 'fraction') { + return part.value.slice(0, -1) + part.value.slice(-1).sup(); + } - temp = `${temp.slice(0, -1)}⁹`; - } - return temp; + return part.value; + }).join(''); + }); + this.nunjucksEnvironment().addFilter('formatDistance', distance => { + return new Intl.NumberFormat(config.locale, { + style: 'unit', + unit: this.priceList.unit, + maximumFractionDigits: 1 + }).format(distance); }); } }); diff --git a/README.md b/README.md index bf59225..3eabfb4 100644 --- a/README.md +++ b/README.md @@ -62,8 +62,16 @@ Gas Station Price Module for MagicMirror2 | `rotate` | `true` | Boolean to enable/disable rotation between sort by price and distance. | | `rotateInterval` | `60000` (1 min) | How fast the sorting should be switched between byPrice and byDistance. | | `updateInterval` | `900000` (15 mins) | How often should the data be fetched. **If your value is to small, you risk to get banned from the API provider. I suggest a minimum of 15mins** | -| `decimalSeparator` | `.` | Decimal separator for numbers. | -| `superscriptNine` | `false` | Display the last nine after decimal seperator as superscript nine. | + +## Global config + +| **Option** | **Default** | **Description** | +| --- | --- | --- | +| `locale` | `undefined` | By default it is using your system settings. You can specify the locale in the global MagicMirror config. Possible values are for e.g.: `'en-US'` or `'de-DE'`. | + +To set a global config you have to set the value in your config.js file inside the MagicMirror project. + +![](.github/global.png) ### tankerkoenig (Germany only) diff --git a/apis/nsw.js b/apis/nsw.js index f937575..6a19b62 100644 --- a/apis/nsw.js +++ b/apis/nsw.js @@ -125,7 +125,7 @@ async function getData() { return { types: ['diesel', 'e5'], - unit: 'km', + unit: 'kilometer', currency: 'AUD', byPrice: stations, byDistance: distance diff --git a/apis/spritpreisrechner.js b/apis/spritpreisrechner.js index 1e99c7b..be1e3c9 100644 --- a/apis/spritpreisrechner.js +++ b/apis/spritpreisrechner.js @@ -180,7 +180,7 @@ async function getData() { return { types: ['diesel', 'e5', 'gas'], - unit: 'km', + unit: 'kilometer', currency: 'EUR', byPrice: stations, byDistance: distance diff --git a/apis/tankerkoenig.js b/apis/tankerkoenig.js index 67ccff2..639a9aa 100644 --- a/apis/tankerkoenig.js +++ b/apis/tankerkoenig.js @@ -186,7 +186,7 @@ async function getData() { return { types: ['diesel', 'e5', 'e10'], - unit: 'km', + unit: 'kilometer', currency: 'EUR', byPrice: price, byDistance: distance diff --git a/templates/MMM-Fuel.njk b/templates/MMM-Fuel.njk index 56fb529..b76fb0b 100644 --- a/templates/MMM-Fuel.njk +++ b/templates/MMM-Fuel.njk @@ -43,11 +43,11 @@ {{ gasStation.name | shortenText | safe }} {% for type in config.types %} {% if includes(priceList.types, type) %} - {{ gasStation.prices[type] | superscriptNine | formatPrice | decimalSeparator | safe }} + {{ gasStation.prices[type] | formatPrice | safe }} {% endif %} {% endfor %} {% if config.showDistance %} - {{ gasStation.distance | decimalSeparator }} {{ priceList.unit }} + {{ gasStation.distance | formatDistance }} {% endif %} {% if config.open %} From 5c5499c5f335b11ae46975de7748c152411c4643 Mon Sep 17 00:00:00 2001 From: Felix Wiedenbach Date: Tue, 23 Feb 2021 08:50:48 +0100 Subject: [PATCH 05/11] renamed config option and merged single requests to one --- README.md | 4 +- apis/tankerkoenig.js | 169 +++++++++++++++++++++++++++++++++---------- 2 files changed, 132 insertions(+), 41 deletions(-) diff --git a/README.md b/README.md index 3eabfb4..5563bb5 100644 --- a/README.md +++ b/README.md @@ -82,8 +82,8 @@ or your API access will be suspended. | --- | --- | --- | | `api_key` | REQUIRED | Get an API key for free access to the data of [tankerkoenig.de](https://creativecommons.tankerkoenig.de/#register). | | `types` | `["diesel"]` | Valid options are `diesel`, `e5` and `e10`. | -| `radius` | `5` | Valid range is 1-25. | -| `stations` | `[]` | Optional array of fuel station ids to include in additon to the radius. You can find the ids [here](https://creativecommons.tankerkoenig.de/TankstellenFinder/index.html). | +| `radius` | `5` | Valid range is 1-25. Not required if `stationIds` are provided. | +| `stationIds` | `[]` | Optional array of fuel station ids to fetch instead of the radius. You can only specify a maximum of 10 and you can find the ids [here](https://creativecommons.tankerkoenig.de/TankstellenFinder/index.html). | ### spritpreisrechner (Austria only) diff --git a/apis/tankerkoenig.js b/apis/tankerkoenig.js index 639a9aa..896d9ed 100644 --- a/apis/tankerkoenig.js +++ b/apis/tankerkoenig.js @@ -19,32 +19,44 @@ const fetch = require('node-fetch'); */ const geolib = require('geolib'); -const BASE_URL_RADIUS = 'https://creativecommons.tankerkoenig.de/json/list.php'; -const BASE_URL_STATION = 'https://creativecommons.tankerkoenig.de/json/detail.php'; +const BASE_URL = 'https://creativecommons.tankerkoenig.de/json'; let config; +let stationInfos; /** - * @function generateUrlRadius + * @function generateRadiusUrl * @description Helper function to generate API request url. * * @returns {string} url */ -function generateUrlRadius() { - return `${BASE_URL_RADIUS}?lat=${config.lat}&lng=${config.lng}&rad=${config.radius}&type=all&apikey=${ +function generateRadiusUrl() { + return `${BASE_URL}/list.php?lat=${config.lat}&lng=${config.lng}&rad=${config.radius}&type=all&apikey=${ config.api_key}&sort=dist`; } /** - * @function generateUrlStation + * @function generateStationPricesUrl * @description Helper function to generate API request url. * - * @param {Object} id - Gas Station id + * @param {string[]} ids - Gas Station IDs * * @returns {string} url */ -function generateUrlStation(id) { - return `${BASE_URL_STATION}?id=${id}&apikey=${config.api_key}`; +function generateStationPricesUrl(ids) { + return `${BASE_URL}/prices.php?ids=${ids.join(',')}&apikey=${config.api_key}`; +} + +/** + * @function generateStationInfoUrl + * @description Helper function to generate API request url. + * + * @param {string} id - Gas Station ID + * + * @returns {string} url + */ +function generateStationInfoUrl(id) { + return `${BASE_URL}/detail.php?id=${id}&apikey=${config.api_key}`; } /** @@ -129,52 +141,131 @@ function normalizeStations(value, index, stations) { } /** - * @function getData - * @description Performs the data query and processing. + * @function getPricesByRadius + * @description Fetches the prices by radius. * @async * - * @returns {Object} Returns object described in the provider documentation. - * - * @see apis + * @returns {Object[]} List of stations in raw format. */ -async function getData() { - let response = await fetch(generateUrlRadius()); - let parsedResponse = await response.json(); +async function getPricesByRadius() { + const response = await fetch(generateRadiusUrl()); + const parsedResponse = await response.json(); if (!parsedResponse.ok) { - throw new Error('Error no fuel radius data'); + throw new Error('Error no fuel radius prices'); } - // Add stations by radius - const stations = parsedResponse.stations; + return parsedResponse.stations; +} - if (Array.isArray(config.stations)) { - for (let i = 0; i < config.stations.length; i += 1) { - response = await fetch(generateUrlStation(config.stations[i])); - parsedResponse = await response.json(); +/** + * @function setStationInfos + * @description Initializes the gas station information. + * @async + * + * @returns {void} + */ +async function setStationInfos() { + if (config.stationIds.length > 10) { + console.warn(`MMM-Fuel: You can only ask for a maximum of 10 station prices`); + config.stations = config.stationIds.slice(0, 10); + } + + stationInfos = {}; - if (!parsedResponse.ok) { - throw new Error('Error no fuel station detail'); - } + for (const stationId of config.stationIds) { + const response = await fetch(generateStationInfoUrl(stationId)); + const parsedResponse = await response.json(); + + if (!parsedResponse.ok) { + throw new Error('Error no fuel station detail'); + } - const station = parsedResponse.station; + const station = parsedResponse.station; - // Calculate distance in meters - const distanceMeters = station.distance = geolib.getDistance({ - latitude: config.lat, - longitude: config.lng, - }, { - latitude: station.lat, - longitude: station.lng, - }); + const distanceMeters = geolib.getDistance({ + latitude: config.lat, + longitude: config.lng, + }, { + latitude: station.lat, + longitude: station.lng, + }, 100); - station.dist = (distanceMeters / 1000).toFixed(1); + stationInfos[station.id] = {...station, dist: distanceMeters / 1000}; + } +} + +/** + * @function getPricing + * @description Helper function to calculate prices for getPricesByStationList. + * @async + * + * @returns {Object} Fuel prices for all types. + */ +function getPricing({status, ...prices}) { + let pricing = {diesel: -1, e5: -1, e10: -1}; - // Add station detail - stations.push(station) + if (status !== 'open') { + return pricing; + } + + for (const type in prices) { + if (prices[type]) { + pricing[type] = prices[type]; } } + return pricing; +} + +/** + * @function getPricesByStationList + * @description Fetches the prices by station ID list. + * @async + * + * @returns {Object[]} List of stations in raw format. + */ +async function getPricesByStationList() { + if (!stationInfos) { + await setStationInfos(); + } + + const response = await fetch(generateStationPricesUrl(Object.keys(stationInfos))); + const parsedResponse = await response.json(); + + if (!parsedResponse.ok) { + throw new Error('Error no fuel station prices'); + } + + let stations = []; + for (const [stationId, info] of Object.entries(parsedResponse.prices)) { + stations.push({ + ...stationInfos[stationId], + isOpen: info.status !== 'closed', + prices: getPricing(info) + }); + } + + return stations; +} + +/** + * @function getData + * @description Performs the data query and processing. + * @async + * + * @returns {Object} Returns object described in the provider documentation. + * + * @see apis + */ +async function getData() { + let stations = []; + if (Array.isArray(config.stationIds)) { + stations = await getPricesByStationList(); + } else { + stations = await getPricesByRadius(); + } + const stationsFiltered = stations.filter(filterStations); stationsFiltered.forEach(normalizeStations); From d3619901b35e85687a408a7f0caef2fde0f40127 Mon Sep 17 00:00:00 2001 From: TheDuffman85 Date: Mon, 8 Mar 2021 12:43:36 +0100 Subject: [PATCH 06/11] Possible duplicates will be filtered out. Radius search can be disbaled if set to 0. Adjusted documentation. --- README.md | 4 ++-- apis/tankerkoenig.js | 33 +++++++++++++++++++++++---------- 2 files changed, 25 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 5563bb5..6a00d56 100644 --- a/README.md +++ b/README.md @@ -82,8 +82,8 @@ or your API access will be suspended. | --- | --- | --- | | `api_key` | REQUIRED | Get an API key for free access to the data of [tankerkoenig.de](https://creativecommons.tankerkoenig.de/#register). | | `types` | `["diesel"]` | Valid options are `diesel`, `e5` and `e10`. | -| `radius` | `5` | Valid range is 1-25. Not required if `stationIds` are provided. | -| `stationIds` | `[]` | Optional array of fuel station ids to fetch instead of the radius. You can only specify a maximum of 10 and you can find the ids [here](https://creativecommons.tankerkoenig.de/TankstellenFinder/index.html). | +| `radius` | `5` | Valid range is 0-25. Set to 0 to disable. Not required if `stationIds` are provided. | +| `stationIds` | `[]` | Optional array of fuel station ids to fetch instead of the radius. You can only specify a maximum of 10 and you can find the ids [here](https://creativecommons.tankerkoenig.de/TankstellenFinder/index.html). Using radius and station ids in parallel will result in more API calls. If you run into issues increase the `updateInterval`. | ### spritpreisrechner (Austria only) diff --git a/apis/tankerkoenig.js b/apis/tankerkoenig.js index 896d9ed..64dcd9a 100644 --- a/apis/tankerkoenig.js +++ b/apis/tankerkoenig.js @@ -163,9 +163,17 @@ async function getPricesByRadius() { * @description Initializes the gas station information. * @async * + * @param {Object[]} stationsByRadius - Gas Stations by radius. Used to filter out possible duplicate stations. + * * @returns {void} */ -async function setStationInfos() { +async function setStationInfos(stationsByRadius) { + + // Filter out possible duplicate stations which are included in the radius search. + for (const station of stationsByRadius) { + config.stationIds = config.stationIds.filter(e => e !== station.id); + } + if (config.stationIds.length > 10) { console.warn(`MMM-Fuel: You can only ask for a maximum of 10 station prices`); config.stations = config.stationIds.slice(0, 10); @@ -191,7 +199,7 @@ async function setStationInfos() { longitude: station.lng, }, 100); - stationInfos[station.id] = {...station, dist: distanceMeters / 1000}; + stationInfos[station.id] = { ...station, dist: distanceMeters / 1000 }; } } @@ -202,8 +210,8 @@ async function setStationInfos() { * * @returns {Object} Fuel prices for all types. */ -function getPricing({status, ...prices}) { - let pricing = {diesel: -1, e5: -1, e10: -1}; +function getPricing({ status, ...prices }) { + const pricing = { diesel: -1, e5: -1, e10: -1 }; if (status !== 'open') { return pricing; @@ -223,11 +231,13 @@ function getPricing({status, ...prices}) { * @description Fetches the prices by station ID list. * @async * + * @param {Object[]} stationsByRadius - Gas Stations by radius. Used to filter out possible duplicate stations. + * * @returns {Object[]} List of stations in raw format. */ -async function getPricesByStationList() { +async function getPricesByStationList(stationsByRadius) { if (!stationInfos) { - await setStationInfos(); + await setStationInfos(stationsByRadius); } const response = await fetch(generateStationPricesUrl(Object.keys(stationInfos))); @@ -237,7 +247,7 @@ async function getPricesByStationList() { throw new Error('Error no fuel station prices'); } - let stations = []; + const stations = []; for (const [stationId, info] of Object.entries(parsedResponse.prices)) { stations.push({ ...stationInfos[stationId], @@ -260,10 +270,13 @@ async function getPricesByStationList() { */ async function getData() { let stations = []; + + if (config.radius > 0) { + stations = stations.concat(await getPricesByRadius()); + } + if (Array.isArray(config.stationIds)) { - stations = await getPricesByStationList(); - } else { - stations = await getPricesByRadius(); + stations = stations.concat(await getPricesByStationList(stations)); } const stationsFiltered = stations.filter(filterStations); From d6ea23d22f5297e90fc527e646db28c296911e2c Mon Sep 17 00:00:00 2001 From: Felix Wiedenbach Date: Sun, 4 Apr 2021 15:59:59 +0200 Subject: [PATCH 07/11] adjust MMM-Modal callback signature --- MMM-Fuel.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/MMM-Fuel.js b/MMM-Fuel.js index 846cece..95d4332 100644 --- a/MMM-Fuel.js +++ b/MMM-Fuel.js @@ -305,12 +305,12 @@ Module.register('MMM-Fuel', { * @function initMap * @description Initializes the map, markers and layers. * - * @param {boolean} success - Only initialize the map if success is truthy. + * @param {Error} error - Only initialize if modal render callback doesn't contain error. * * @returns {void} */ - initMap(success) { - if (!success || this.map) { + initMap(error) { + if (error || this.map) { return; } From 96811135356006b2526ad9a220d8e2c8f80f88a5 Mon Sep 17 00:00:00 2001 From: Felix Wiedenbach Date: Sun, 4 Apr 2021 16:00:26 +0200 Subject: [PATCH 08/11] prepare release --- .github/FUNDING.yml | 1 + CHANGELOG.md | 13 +++++++++++++ package.json | 2 +- 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml index 52b8550..412df81 100644 --- a/.github/FUNDING.yml +++ b/.github/FUNDING.yml @@ -1 +1,2 @@ +github: fewieden custom: ['https://paypal.me/fewieden'] diff --git a/CHANGELOG.md b/CHANGELOG.md index cd71b3f..9b3c43d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,18 @@ # MMM-Fuel Changelog +## [2.2.0] + +Thanks to @TheDuffman85 for his contribution to this release. + +### Added + +* Config option `stationIds` to check prices of specific gas stations (Tankerkönig only) + +### Changed + +* 3rd decimal is now superscripted +* Price and distance values are now localized based on global config option `locale`. + ## [2.1.2] ### Added diff --git a/package.json b/package.json index 46ca9fe..706f595 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mmm-fuel", - "version": "2.1.2", + "version": "2.2.0", "description": "Gas Station price Module for MagicMirror2", "scripts": { "lint": "eslint . && stylelint **/*.css", From e942822d2ec4755f14c15808b39c0aa29ea1882e Mon Sep 17 00:00:00 2001 From: Felix Wiedenbach Date: Sun, 4 Apr 2021 16:14:27 +0200 Subject: [PATCH 09/11] update screenshots --- .github/example.jpg | Bin 90827 -> 0 bytes .github/example2.jpg | Bin 99407 -> 0 bytes .github/fuel.png | Bin 0 -> 18349 bytes README.md | 2 +- 4 files changed, 1 insertion(+), 1 deletion(-) delete mode 100644 .github/example.jpg delete mode 100644 .github/example2.jpg create mode 100644 .github/fuel.png diff --git a/.github/example.jpg b/.github/example.jpg deleted file mode 100644 index 4656fe342636a6e79f2eaeae1a136694bd4e3e8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 90827 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 MYQF!z{b%jJ0IJIDUjP6A diff --git a/.github/example2.jpg b/.github/example2.jpg deleted file mode 100644 index f32dd0f20d02d804b47b6f7b461c1685ba30873b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 99407 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∋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 literal 0 HcmV?d00001 diff --git a/README.md b/README.md index 6a00d56..416a818 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Gas Station Price Module for MagicMirror2 ## Examples -![](.github/example.jpg) ![](.github/example2.jpg) ![](.github/example3.png) +![](.github/fuel.png) ![](.github/example3.png) ## Dependencies From b8b5117d85ec0196f64072c1c6207791088918bc Mon Sep 17 00:00:00 2001 From: Felix Wiedenbach Date: Sun, 4 Apr 2021 16:21:13 +0200 Subject: [PATCH 10/11] added github actions, removed travis-ci integration --- .github/workflows/build.yml | 24 ++++++++++++++++++++++++ .github/workflows/changelog.yml | 15 +++++++++++++++ .travis.yml | 11 ----------- CHANGELOG.md | 5 +++++ README.md | 2 +- 5 files changed, 45 insertions(+), 12 deletions(-) create mode 100644 .github/workflows/build.yml create mode 100644 .github/workflows/changelog.yml delete mode 100644 .travis.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..5b6db00 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,24 @@ +# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions + +name: build + +on: + push: + branches: [ master, develop ] + pull_request: + branches: [ master, develop ] + +jobs: + lint: + runs-on: ubuntu-latest + strategy: + matrix: + node-version: [ 14.x ] + steps: + - uses: actions/checkout@v2 + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v1 + with: + node-version: ${{ matrix.node-version }} + - run: npm ci + - run: npm run lint diff --git a/.github/workflows/changelog.yml b/.github/workflows/changelog.yml new file mode 100644 index 0000000..754e5b9 --- /dev/null +++ b/.github/workflows/changelog.yml @@ -0,0 +1,15 @@ +name: changelog + +on: + pull_request: + types: [opened, synchronize, reopened, ready_for_review, labeled, unlabeled] + +jobs: + check: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: dangoslen/changelog-enforcer@v1.6.1 + with: + changeLogPath: CHANGELOG.md + skipLabels: Skip Changelog diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 2d80e43..0000000 --- a/.travis.yml +++ /dev/null @@ -1,11 +0,0 @@ -language: node_js -node_js: - - "stable" - - "10" - - "12" - - "14" -script: - - npm run lint -cache: - directories: - - node_modules diff --git a/CHANGELOG.md b/CHANGELOG.md index 9b3c43d..f470049 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,12 +7,17 @@ Thanks to @TheDuffman85 for his contribution to this release. ### Added * Config option `stationIds` to check prices of specific gas stations (Tankerkönig only) +* Github actions ### Changed * 3rd decimal is now superscripted * Price and distance values are now localized based on global config option `locale`. +### Removed + +* Travis-CI integration + ## [2.1.2] ### Added diff --git a/README.md b/README.md index 416a818..ebb871f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg?style=flat)](https://raw.githubusercontent.com/fewieden/MMM-Fuel/master/LICENSE) [![Build Status](https://travis-ci.org/fewieden/MMM-Fuel.svg?branch=master)](https://travis-ci.org/fewieden/MMM-Fuel) [![Code Climate](https://codeclimate.com/github/fewieden/MMM-Fuel/badges/gpa.svg?style=flat)](https://codeclimate.com/github/fewieden/MMM-Fuel) [![Known Vulnerabilities](https://snyk.io/test/github/fewieden/mmm-fuel/badge.svg)](https://snyk.io/test/github/fewieden/mmm-fuel) +[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg?style=flat)](https://raw.githubusercontent.com/fewieden/MMM-Fuel/master/LICENSE) ![Build status](https://github.com/fewieden/MMM-Fuel/workflows/build/badge.svg) [![Code Climate](https://codeclimate.com/github/fewieden/MMM-Fuel/badges/gpa.svg?style=flat)](https://codeclimate.com/github/fewieden/MMM-Fuel) [![Known Vulnerabilities](https://snyk.io/test/github/fewieden/mmm-fuel/badge.svg)](https://snyk.io/test/github/fewieden/mmm-fuel) # MMM-Fuel From 887bdc24ed4e66d13189fdfae21a54731307c885 Mon Sep 17 00:00:00 2001 From: Felix Wiedenbach Date: Sun, 4 Apr 2021 16:31:05 +0200 Subject: [PATCH 11/11] fix eslint errors --- MMM-Fuel.js | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/MMM-Fuel.js b/MMM-Fuel.js index 95d4332..479a8ff 100644 --- a/MMM-Fuel.js +++ b/MMM-Fuel.js @@ -7,7 +7,7 @@ * @see https://github.com/fewieden/MMM-Fuel */ -/* global google */ +/* global google Module Log config */ /** * @external Module @@ -421,12 +421,10 @@ Module.register('MMM-Fuel', { return part.value; }).join(''); }); - this.nunjucksEnvironment().addFilter('formatDistance', distance => { - return new Intl.NumberFormat(config.locale, { - style: 'unit', - unit: this.priceList.unit, - maximumFractionDigits: 1 - }).format(distance); - }); + this.nunjucksEnvironment().addFilter('formatDistance', distance => new Intl.NumberFormat(config.locale, { + style: 'unit', + unit: this.priceList.unit, + maximumFractionDigits: 1 + }).format(distance)); } });