From 64c7e813241452f8c8209b5edcab66b5b0a4a8eb Mon Sep 17 00:00:00 2001 From: Glenn Jackman Date: Wed, 8 May 2019 12:14:28 -0400 Subject: [PATCH 1/9] add "category" tag to parser --- feedparser.lua | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/feedparser.lua b/feedparser.lua index 2d66b8c..d4ebf9e 100644 --- a/feedparser.lua +++ b/feedparser.lua @@ -112,7 +112,10 @@ local function parse_entries(entries_el, format_str, base) local author_url = (el:getChild('url') or blanky):getText() if author_url and author_url ~= "" then entry.author_detail.href=resolve(author_url, rebase(el:getChild('url'), el_base)) end - elseif tag=='category' or tag=='dc:subject' then + elseif tag=='category' then + entry.category = (el:getChild('term') or el):getText() + + elseif tag=='dc:subject' then --todo elseif tag=='source' then @@ -366,4 +369,4 @@ if _VERSION:sub(-3) < "5.3" then end -return feedparser \ No newline at end of file +return feedparser From 8b4c59626b222e76c2c451afd7a71f2e7caa9dc1 Mon Sep 17 00:00:00 2001 From: evandrofisico Date: Fri, 4 Nov 2022 14:24:45 -0300 Subject: [PATCH 2/9] Update feedparser.lua consider the possibility that an element could not have a title element --- feedparser.lua | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/feedparser.lua b/feedparser.lua index 2d66b8c..773ae5a 100644 --- a/feedparser.lua +++ b/feedparser.lua @@ -317,7 +317,7 @@ local function parse_rss(root, base_uri) --image elseif tag=='image' or tag=='rdf:image' then feed.image={ - title=el:getChild('title'):getText(), + title=(el:getChild('title') or blanky):getText(), link=(el:getChild('link') or blanky):getText(), width=(el:getChild('width') or blanky):getText(), height=(el:getChild('height') or blanky):getText() @@ -366,4 +366,4 @@ if _VERSION:sub(-3) < "5.3" then end -return feedparser \ No newline at end of file +return feedparser From 5b5ff6d596fd74348b722374c1a81085432ce0be Mon Sep 17 00:00:00 2001 From: Evandro Alves Rodrigues Date: Thu, 17 Nov 2022 09:55:58 -0300 Subject: [PATCH 3/9] adding support for rss1.0 feeds --- feedparser.lua | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/feedparser.lua b/feedparser.lua index 773ae5a..f6c9412 100644 --- a/feedparser.lua +++ b/feedparser.lua @@ -336,6 +336,12 @@ local function parse_rss(root, base_uri) end res.entries=parse_entries(channel:getChildren('item'),'rss', channel_base) + -- a version 1.0 feed does not add the item list as children of the channel + -- entity, but the root + if res.version == "rss10" then + res.entries=parse_entries(root:getChildren('item'),'rss', channel_base) + end + return res end From c080d39d1c012073b9cb6423eaf1cecfabd4351f Mon Sep 17 00:00:00 2001 From: Evandro Alves Rodrigues Date: Thu, 17 Nov 2022 13:58:58 -0300 Subject: [PATCH 4/9] change rockspec and bump version --- feedparser-0.71-3.rockspec | 6 +++--- feedparser-0.72.rockspec | 31 +++++++++++++++++++++++++++++++ feedparser.lua | 2 +- 3 files changed, 35 insertions(+), 4 deletions(-) create mode 100644 feedparser-0.72.rockspec diff --git a/feedparser-0.71-3.rockspec b/feedparser-0.71-3.rockspec index f03f8ce..b903dac 100644 --- a/feedparser-0.71-3.rockspec +++ b/feedparser-0.71-3.rockspec @@ -1,9 +1,9 @@ #!/bin/lua package = "feedparser" -version = "0.71-3" +version = "0.72" source = { - url="git://github.com/slact/lua-feedparser", - tag="0.71" + url="git://github.com/evandrofisico/lua-feedparser", + tag="0.72" } description = { summary = " A decent RSS and Atom XML feed parser", diff --git a/feedparser-0.72.rockspec b/feedparser-0.72.rockspec new file mode 100644 index 0000000..45f4027 --- /dev/null +++ b/feedparser-0.72.rockspec @@ -0,0 +1,31 @@ +#!/bin/lua +package = "feedparser" +version = "0.72" +source = { + url="git://github.com/evandrofisico/lua-feedparser", + tag="0.72" +} +description = { + summary = " A decent RSS and Atom XML feed parser", + detailed = [[ +RSS and Atom feed parser, using expat via the luaExpat binding. +Similar to the Universal Feed Parser (http://feedparser.org), +but less good.]], + homepage = "https://github.com/evandrofisico/lua-feedparser", + license = "BSD" +} +dependencies = { + "lua >= 5.1, < 5.4", + "luaexpat" +} +build = { + type = "builtin", + modules = { + feedparser = "feedparser.lua", + ['feedparser.XMLElement'] = "feedparser/XMLElement.lua", + ['feedparser.dateparser'] = "feedparser/dateparser.lua", + ['feedparser.url'] = "feedparser/url.lua" + }, + copy_directories = { + } +} diff --git a/feedparser.lua b/feedparser.lua index f6c9412..5e77a29 100644 --- a/feedparser.lua +++ b/feedparser.lua @@ -317,7 +317,7 @@ local function parse_rss(root, base_uri) --image elseif tag=='image' or tag=='rdf:image' then feed.image={ - title=(el:getChild('title') or blanky):getText(), + title=(el:getChild('title') or blanky):getText(), link=(el:getChild('link') or blanky):getText(), width=(el:getChild('width') or blanky):getText(), height=(el:getChild('height') or blanky):getText() From 2f2af0fdbd0a419b53eafd9b0fa08e20ba6b1235 Mon Sep 17 00:00:00 2001 From: evandrofisico Date: Thu, 17 Nov 2022 14:05:38 -0300 Subject: [PATCH 5/9] Delete feedparser-0.71-3.rockspec remove original rockspec file --- feedparser-0.71-3.rockspec | 31 ------------------------------- 1 file changed, 31 deletions(-) delete mode 100644 feedparser-0.71-3.rockspec diff --git a/feedparser-0.71-3.rockspec b/feedparser-0.71-3.rockspec deleted file mode 100644 index b903dac..0000000 --- a/feedparser-0.71-3.rockspec +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/lua -package = "feedparser" -version = "0.72" -source = { - url="git://github.com/evandrofisico/lua-feedparser", - tag="0.72" -} -description = { - summary = " A decent RSS and Atom XML feed parser", - detailed = [[ -RSS and Atom feed parser, using expat via the luaExpat binding. -Similar to the Universal Feed Parser (http://feedparser.org), -but less good.]], - homepage = "https://github.com/slact/lua-feedparser", - license = "BSD" -} -dependencies = { - "lua >= 5.1, < 5.4", - "luaexpat" -} -build = { - type = "builtin", - modules = { - feedparser = "feedparser.lua", - ['feedparser.XMLElement'] = "feedparser/XMLElement.lua", - ['feedparser.dateparser'] = "feedparser/dateparser.lua", - ['feedparser.url'] = "feedparser/url.lua" - }, - copy_directories = { - } -} From 5293c745845e6a111608e4a587df8cd234b87741 Mon Sep 17 00:00:00 2001 From: Evandro Alves Rodrigues Date: Thu, 17 Nov 2022 14:07:07 -0300 Subject: [PATCH 6/9] change readme to show that this is a bug fixing fork --- README | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/README b/README index 892a9d3..02a3f20 100644 --- a/README +++ b/README @@ -1,3 +1,10 @@ +As feedparser seems to have no have no new development or bugfixes in the last +8 years, I'm forking it and making my bugfixes public. + +Below, the original readme. + +------- + RSS and Atom feed parser, using expat via the luaExpat binding. Similar to the Universal Feed Parser (http://feedparser.org), but less good. From 5bad025506892c1e348df92f67c1f41ba186eeeb Mon Sep 17 00:00:00 2001 From: Evandro Alves Rodrigues Date: Thu, 17 Nov 2022 14:10:45 -0300 Subject: [PATCH 7/9] change feedspec name to conform to luarocks standart --- feedparser-0.72.rockspec => feedparser-0.72-1.rockspec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename feedparser-0.72.rockspec => feedparser-0.72-1.rockspec (95%) diff --git a/feedparser-0.72.rockspec b/feedparser-0.72-1.rockspec similarity index 95% rename from feedparser-0.72.rockspec rename to feedparser-0.72-1.rockspec index 45f4027..f2380b5 100644 --- a/feedparser-0.72.rockspec +++ b/feedparser-0.72-1.rockspec @@ -1,9 +1,9 @@ #!/bin/lua package = "feedparser" -version = "0.72" +version = "0.72-1" source = { url="git://github.com/evandrofisico/lua-feedparser", - tag="0.72" + tag="0.72-1" } description = { summary = " A decent RSS and Atom XML feed parser", From fec77a244fb9fc304760769b2fb233a50cea3ffa Mon Sep 17 00:00:00 2001 From: Evandro Alves Rodrigues Date: Thu, 17 Nov 2022 14:24:21 -0300 Subject: [PATCH 8/9] fix url in rockspec --- feedparser-0.72-1.rockspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/feedparser-0.72-1.rockspec b/feedparser-0.72-1.rockspec index f2380b5..5625179 100644 --- a/feedparser-0.72-1.rockspec +++ b/feedparser-0.72-1.rockspec @@ -2,7 +2,7 @@ package = "feedparser" version = "0.72-1" source = { - url="git://github.com/evandrofisico/lua-feedparser", + url="https://github.com/evandrofisico/lua-feedparser.git", tag="0.72-1" } description = { From d2b69d24297c66df16c8de7106460e20b4df928c Mon Sep 17 00:00:00 2001 From: Evandro Alves Rodrigues Date: Thu, 17 Nov 2022 14:34:53 -0300 Subject: [PATCH 9/9] fix url in rockspec --- feedparser-0.72-1.rockspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/feedparser-0.72-1.rockspec b/feedparser-0.72-1.rockspec index 5625179..7f2805e 100644 --- a/feedparser-0.72-1.rockspec +++ b/feedparser-0.72-1.rockspec @@ -2,7 +2,7 @@ package = "feedparser" version = "0.72-1" source = { - url="https://github.com/evandrofisico/lua-feedparser.git", + url="git+https://github.com/evandrofisico/lua-feedparser.git", tag="0.72-1" } description = {