Use es6 notation in newsfeed module

This commit is contained in:
rejas 2021-03-16 21:15:19 +01:00
parent e4f671c898
commit a70bb517e1
3 changed files with 22 additions and 28 deletions

View File

@ -147,8 +147,7 @@ Module.register("newsfeed", {
* Registers the feeds to be used by the backend.
*/
registerFeeds: function () {
for (var f in this.config.feeds) {
var feed = this.config.feeds[f];
for (let feed of this.config.feeds) {
this.sendSocketNotification("ADD_FEED", {
feed: feed,
config: this.config
@ -162,12 +161,11 @@ Module.register("newsfeed", {
* @param {object} feeds An object with feeds returned by the node helper.
*/
generateFeed: function (feeds) {
var newsItems = [];
for (var feed in feeds) {
var feedItems = feeds[feed];
let newsItems = [];
for (let feed in feeds) {
const feedItems = feeds[feed];
if (this.subscribedToFeed(feed)) {
for (var i in feedItems) {
var item = feedItems[i];
for (let item of feedItems) {
item.sourceTitle = this.titleForFeed(feed);
if (!(this.config.ignoreOldItems && Date.now() - new Date(item.pubdate) > this.config.ignoreOlderThan)) {
newsItems.push(item);
@ -176,8 +174,8 @@ Module.register("newsfeed", {
}
}
newsItems.sort(function (a, b) {
var dateA = new Date(a.pubdate);
var dateB = new Date(b.pubdate);
const dateA = new Date(a.pubdate);
const dateB = new Date(b.pubdate);
return dateB - dateA;
});
if (this.config.maxNewsItems > 0) {
@ -186,8 +184,8 @@ Module.register("newsfeed", {
if (this.config.prohibitedWords.length > 0) {
newsItems = newsItems.filter(function (value) {
for (var i = 0; i < this.config.prohibitedWords.length; i++) {
if (value["title"].toLowerCase().indexOf(this.config.prohibitedWords[i].toLowerCase()) > -1) {
for (let word of this.config.prohibitedWords) {
if (value["title"].toLowerCase().indexOf(word.toLowerCase()) > -1) {
return false;
}
}
@ -235,7 +233,7 @@ Module.register("newsfeed", {
});
// get updated news items and broadcast them
var updatedItems = [];
const updatedItems = [];
newsItems.forEach((value) => {
if (this.newsItems.findIndex((value1) => value1 === value) === -1) {
// Add item to updated items list
@ -258,8 +256,7 @@ Module.register("newsfeed", {
* @returns {boolean} True if it is subscribed, false otherwise
*/
subscribedToFeed: function (feedUrl) {
for (var f in this.config.feeds) {
var feed = this.config.feeds[f];
for (let feed of this.config.feeds) {
if (feed.url === feedUrl) {
return true;
}
@ -274,8 +271,7 @@ Module.register("newsfeed", {
* @returns {string} The title of the feed
*/
titleForFeed: function (feedUrl) {
for (var f in this.config.feeds) {
var feed = this.config.feeds[f];
for (let feed of this.config.feeds) {
if (feed.url === feedUrl) {
return feed.title || "";
}

View File

@ -19,8 +19,6 @@ const iconv = require("iconv-lite");
* @class
*/
const NewsfeedFetcher = function (url, reloadInterval, encoding, logFeedWarnings) {
const self = this;
let reloadTimer = null;
let items = [];
@ -36,14 +34,14 @@ const NewsfeedFetcher = function (url, reloadInterval, encoding, logFeedWarnings
/**
* Request the new items.
*/
const fetchNews = function () {
const fetchNews = () => {
clearTimeout(reloadTimer);
reloadTimer = null;
items = [];
const parser = new FeedMe();
parser.on("item", function (item) {
parser.on("item", (item) => {
const title = item.title;
let description = item.description || item.summary || item.content || "";
const pubdate = item.pubdate || item.published || item.updated || item["dc:date"];
@ -68,13 +66,13 @@ const NewsfeedFetcher = function (url, reloadInterval, encoding, logFeedWarnings
}
});
parser.on("end", function () {
self.broadcastItems();
parser.on("end", () => {
this.broadcastItems();
scheduleTimer();
});
parser.on("error", function (error) {
fetchFailedCallback(self, error);
parser.on("error", (error) => {
fetchFailedCallback(this, error);
scheduleTimer();
});
@ -87,7 +85,7 @@ const NewsfeedFetcher = function (url, reloadInterval, encoding, logFeedWarnings
fetch(url, { headers: headers })
.catch((error) => {
fetchFailedCallback(self, error);
fetchFailedCallback(this, error);
scheduleTimer();
})
.then((res) => {
@ -134,7 +132,7 @@ const NewsfeedFetcher = function (url, reloadInterval, encoding, logFeedWarnings
return;
}
Log.info("Newsfeed-Fetcher: Broadcasting " + items.length + " items.");
itemsReceivedCallback(self);
itemsReceivedCallback(this);
};
this.onReceive = function (callback) {

View File

@ -74,8 +74,8 @@ module.exports = NodeHelper.create({
* and broadcasts these using sendSocketNotification.
*/
broadcastFeeds: function () {
var feeds = {};
for (var f in this.fetchers) {
const feeds = {};
for (let f in this.fetchers) {
feeds[f] = this.fetchers[f].items();
}
this.sendSocketNotification("NEWS_ITEMS", feeds);