Mercurial > prosody-modules
comparison mod_pubsub_feeds/mod_pubsub_feeds.lua @ 2379:bc6e63ab2a7c
mod_pubsub_feeds: Iterate over feed backwards due to most feeds being in reverse chronological order
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Sat, 19 Nov 2016 19:07:00 +0100 |
| parents | 02532f28b207 |
| children | 2f083426fe98 |
comparison
equal
deleted
inserted
replaced
| 2378:649f733aa3dc | 2379:bc6e63ab2a7c |
|---|---|
| 77 | 77 |
| 78 function update_entry(item) | 78 function update_entry(item) |
| 79 local node = item.node; | 79 local node = item.node; |
| 80 module:log("debug", "parsing %d bytes of data in node %s", #item.data or 0, node) | 80 module:log("debug", "parsing %d bytes of data in node %s", #item.data or 0, node) |
| 81 local feed = parse_feed(item.data); | 81 local feed = parse_feed(item.data); |
| 82 local entries = {}; | |
| 82 for entry in feed:childtags("entry") do | 83 for entry in feed:childtags("entry") do |
| 84 table.insert(entries, entry); | |
| 85 end | |
| 86 for i = #entries, 1, -1 do -- Feeds are usually in reverse order | |
| 87 local entry = feed[i]; | |
| 83 entry.attr.xmlns = xmlns_atom; | 88 entry.attr.xmlns = xmlns_atom; |
| 84 | 89 |
| 85 local e_published = entry:get_child_text("published"); | 90 local e_published = entry:get_child_text("published"); |
| 86 e_published = e_published and dt_parse(e_published); | 91 e_published = e_published and dt_parse(e_published); |
| 87 local e_updated = entry:get_child_text("updated"); | 92 local e_updated = entry:get_child_text("updated"); |
