Socket
Socket
Sign inDemoInstall

feedparser

Package Overview
Dependencies
Maintainers
1
Versions
100
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

feedparser - npm Package Compare versions

Comparing version 0.4.1 to 0.4.2

examples/atom-no-entries.xml

91

lib/feedparser.js

@@ -443,2 +443,93 @@ /**********************************************************************

}
} else if ((el == 'channel' || el == 'feed') && !self.meta.title) { // We haven't yet parsed all the metadata
// Set all the meta keys to null
self.meta.title = self.meta.description = self.meta.pubDate = self.meta.link = self.meta.xmlUrl
= null;
switch(self.meta['#type']){
case 'atom':
self.meta.title = getValue(n.title)
self.meta.description = getValue(n.subtitle);
self.meta.pubDate = getValue(n.updated) ? new Date(n.updated['#']) : null;
if ( n.link && n.link.length ) {
n.link.forEach(function(link){
if (link['@'] && link['@']['rel'] && link['@']['href'])
switch(link['@']['rel']){
case('alternate'):
self.meta.link = link['@']['href'];
break;
case('self'):
self.meta.xmlUrl = link['@']['href'];
break;
};
});
}
break;
case 'rss':
if (n.title) {
Object.keys(n).forEach(function(el){
switch(el){
case('title'):
self.meta.title = getValue(n[el]);
break;
case('description'):
self.meta.description = getValue(n[el]);
break;
case('pubdate'):
case('lastbuilddate'):
if (self.meta.pubDate === null || el == 'pubdate')
self.meta.pubDate = getValue(n[el]) ? new Date(n[el]['#']) : null;
break;
case('link'):
self.meta.link = getValue(n[el]);
break;
case('atom:link'):
if (Array.isArray(n[el])) {
n[el].forEach(function(link){
if(link['@'] && getValue(link['@'], 'rel') == 'self')
self.meta.xmlUrl = getValue(link['@'], 'href');
});
} else if (n[el].constructor.name == 'Object'
&& n[el]['@']
&& getValue(n[el]['@'], 'rel') == 'self') {
self.meta.xmlUrl = getValue(n[el]['@'], 'href');
}
break;
}
});
}
break;
case 'rdf':
if (n.title) {
Object.keys(n).forEach(function(el){
switch(el){
case('title'):
self.meta.title = getValue(n[el]);
break;
case('description'):
self.meta.description = getValue(n[el]);
break;
case('dc:date'):
self.meta.pubDate = getValue(n[el]) ? new Date(n[el]['#']) : null;
break;
case('link'):
self.meta.link = getValue(n[el]);
break;
case('atom:link'):
if (Array.isArray(n[el])) {
n[el].forEach(function(link){
if(link['@'] && getValue(link['@'], 'rel') == 'self')
self.meta.xmlUrl = getValue(link['@'], 'href');
});
} else if (n[el].constructor.name == 'Object'
&& n[el]['@']
&& getValue(n[el]['@'], 'rel') == 'self') {
self.meta.xmlUrl = getValue(n[el]['@'], 'href');
}
break;
}
});
}
break;
}
self.emit('meta', self.meta);
}

@@ -445,0 +536,0 @@

2

package.json

@@ -5,3 +5,3 @@ {

"description": "Robust RSS, Atom, and RDF feed parsing using sax js",
"version": "0.4.1",
"version": "0.4.2",
"repository": {

@@ -8,0 +8,0 @@ "type": "git",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc