You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm using firebase as a backend for storage, and it has the interesting feature that it can't store javascript Date objects. Whilst I'm in the process of discussing this with firebase (I think it probably should, but who knows what they'll decide), I made the following local changes to feedparser to provide an option to return any dates in the item and metadata as strings. Sorry I didn't make a branch, so can't do this as a pull request, but in case it helps anyone else.
New option:
dateAsString: Defaults to false. Returns dates as strings rather than Date() objects
main.js Diff:
@@ -107,6 +107,7 @@
if (!('strict' in this.options)) this.options.strict = false;
if (!('normalize' in this.options)) this.options.normalize = true;
if (!('addmeta' in this.options)) this.options.addmeta = true;
+ if (!('dateAsString' in this.options)) this.options.dateAsString = false;
if (!('resume_saxerror' in this.options)) this.options.resume_saxerror = true;
if ('MAX_BUFFER_LENGTH' in this.options) {
sax.MAX_BUFFER_LENGTH = this.options.MAX_BUFFER_LENGTH; // set to Infinity to have unlimited buffers
@@ -403,6 +404,7 @@
var meta = {}
, normalize = !options || (options && options.normalize)
+ , dateAsString = !options || (options && options.dateAsString)
;
if (normalize) {
@@ -434,6 +436,7 @@
case('dc:date'):
var date = utils.get(el) ? new Date(utils.get(el)) : null;
if (!date) break;
+ if (dateAsString) date = date.toString();
if (meta.pubdate === null || name == 'pubdate' || name == 'published')
meta.pubdate = meta.pubDate = date;
if (meta.date === null || name == 'lastbuilddate' || name == 'modified' || name == 'updated')
@@ -738,6 +741,7 @@
var item = {}
, normalize = !options || (options && options.normalize)
+ , dateAsString = !options || (options && options.dateAsString)
;
if (normalize) {
@@ -776,6 +780,7 @@
case('dc:date'):
var date = utils.get(el) ? new Date(utils.get(el)) : null;
if (!date) break;
+ if (dateAsString) date = date.toString();
if (item.pubdate === null || name == 'pubdate' || name == 'published' || name == 'issued')
item.pubdate = item.pubDate = date;
if (item.date === null || name == 'modified' || name == 'updated')
The text was updated successfully, but these errors were encountered:
I'm using firebase as a backend for storage, and it has the interesting feature that it can't store javascript Date objects. Whilst I'm in the process of discussing this with firebase (I think it probably should, but who knows what they'll decide), I made the following local changes to feedparser to provide an option to return any dates in the item and metadata as strings. Sorry I didn't make a branch, so can't do this as a pull request, but in case it helps anyone else.
New option:
dateAsString
: Defaults tofalse
. Returns dates as strings rather than Date() objectsmain.js Diff:
The text was updated successfully, but these errors were encountered: