rss-combiner
Advanced tools
Comparing version 0.0.3 to 0.0.4
'use strict'; | ||
const _ = require('lodash'); | ||
const Q = require('q'); | ||
const FeedParser = require('feedparser'); | ||
const request = require('request'); | ||
const RSS = require('rss'); | ||
var _ = require('lodash'); | ||
var Q = require('q'); | ||
var FeedParser = require('feedparser'); | ||
var request = require('request'); | ||
var RSS = require('rss'); | ||
function getEntries(url) { | ||
const deferred = Q.defer(); | ||
const fp = new FeedParser(); | ||
const req = request(url); | ||
var deferred = Q.defer(); | ||
var fp = new FeedParser(); | ||
var req = request(url); | ||
@@ -21,9 +21,9 @@ req.setMaxListeners(50); | ||
req.on('error', (err) => { | ||
req.on('error', function (err) { | ||
console.error(err); | ||
deferred.reject(err); | ||
}); | ||
req.on('response', (res) => { | ||
req.on('response', function (res) { | ||
if (res.statusCode !== 200) { | ||
const err = new Error('Bad response %d', res.statusCode); | ||
var err = new Error('Bad response %d', res.statusCode); | ||
console.error(err); | ||
@@ -35,10 +35,10 @@ deferred.reject(err); | ||
fp.on('error', (err) => { | ||
fp.on('error', function (err) { | ||
console.error(err); | ||
deferred.reject(err); | ||
}); | ||
const items = []; | ||
fp.on('readable', () => { | ||
const stream = fp; | ||
let item; | ||
var items = []; | ||
fp.on('readable', function () { | ||
var stream = fp; | ||
var item; | ||
@@ -49,3 +49,3 @@ while ((item = stream.read())) { | ||
}); | ||
fp.on('end', () => { | ||
fp.on('end', function () { | ||
deferred.resolve(items); | ||
@@ -58,4 +58,4 @@ }); | ||
function sortEntries(entry) { | ||
const date = new Date(entry.pubdate); | ||
const time = date.getTime(); | ||
var date = new Date(entry.pubdate); | ||
var time = date.getTime(); | ||
return time * -1; | ||
@@ -65,4 +65,4 @@ } | ||
function createFeed(feedConfig, entries) { | ||
const newFeed = new RSS(feedConfig); | ||
for (let i = 0; i < entries.length; i++) { | ||
var newFeed = new RSS(feedConfig); | ||
for (var i = 0; i < entries.length; i++) { | ||
newFeed.item(entries[i]); | ||
@@ -74,7 +74,7 @@ } | ||
function combine(feedConfig, callback) { | ||
let deferred = {}; | ||
let err = null; | ||
var deferred = {}; | ||
var err = null; | ||
if (callback) { | ||
deferred.resolve = feed => callback(null, feed); | ||
deferred.reject = err => callback(err, null); | ||
deferred.resolve = function (feed) { callback(null, feed); } | ||
deferred.reject = function (err) { callback(err, null); } | ||
} else { | ||
@@ -89,4 +89,5 @@ deferred = Q.defer(); | ||
if (err == null) { | ||
let strippedConfig = {}; | ||
for (let k in feedConfig) { | ||
// Strip properties 'feeds' and 'size' from config to be passed to `rss` module | ||
var strippedConfig = {}; | ||
for (var k in feedConfig) { | ||
if (k !== 'feeds' && k !== 'size') strippedConfig[k] = feedConfig[k]; | ||
@@ -98,6 +99,7 @@ } | ||
.then(_.flatten) | ||
.then(entries => _.sortBy(entries, sortEntries)) | ||
.then(entries => _.take(entries, feedConfig.size)) | ||
.then(entries => createFeed(strippedConfig, entries)) | ||
.then(createdFeed => deferred.resolve(createdFeed)); | ||
.then(function (entries) { return _.sortBy(entries, sortEntries) }) | ||
.then(function (entries) { return _.take(entries, feedConfig.size) }) | ||
.then(function (entries) { return createFeed(strippedConfig, entries) }) | ||
.then(function (createdFeed) { deferred.resolve(createdFeed) }); | ||
} else { | ||
@@ -104,0 +106,0 @@ deferred.reject(err); |
{ | ||
"name": "rss-combiner", | ||
"version": "0.0.3", | ||
"version": "0.0.4", | ||
"description": "Combine multiple RSS feed sources into one", | ||
@@ -17,3 +17,3 @@ "keywords": [ | ||
"scripts": { | ||
"test": "mocha" | ||
"test": "mocha -u tdd --reporter spec" | ||
}, | ||
@@ -32,2 +32,3 @@ "homepage": "http://github.com/awocallaghan/node-rss-combiner", | ||
"feedparser": "^1.1.4", | ||
"lodash": "^4.13.1", | ||
"q": "^1.4.1", | ||
@@ -34,0 +35,0 @@ "request": "^2.72.0", |
@@ -1,2 +0,2 @@ | ||
rss-combiner | ||
rss-combiner [![Build Status](https://travis-ci.org/awocallaghan/node-rss-combiner.svg?branch=master)](https://travis-ci.org/awocallaghan/node-rss-combiner) | ||
====== | ||
@@ -3,0 +3,0 @@ |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
253084
70
5710
5
+ Addedlodash@^4.13.1
+ Addedlodash@4.17.21(transitive)