This if statement is such that if there is no title in this feed it meets the criteria for this If and the one above and thus gets placed in the queue twice and double posted. Ive seen this in Mastodon feeds for example.
if (last_title == "" and entry_title == "") and (last_link != entry_link) and (last_time < entry_time):
log.debug(f"New entry found via time validation for feed {name} on cid {channel.id} - no title")
feedparser_plus_obj = await self._add_to_feedparser_object(entry, url)
feedparser_plus_objects.append(feedparser_plus_obj)
* Handle feeds that don't have a link in the feed entry
* Do not check title matching if a feed entry has a non-matching link and a greater entry time than last post time
* Fix for $tags_list template key as it was setting it to the last tag found instead of the entire list, also check for duplicate tags during tag finding and do not add them
* Replace scipy KDTree with Euclidean distance
* fixed star expression and missing import
* Version number
Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com>
This is an owner only addition to provide a way to use published_parsed for post qualification instead of updated_parsed. YouTube RSS feeds are defaulted into this list.
* More descriptive error messages for users
* Now will post updates of last post sent
* Handles feeds that do not have entries
* Better channel verification for removing dead feeds
* [RSS] Make RSS work with cog disabling API
* Update feed qualifier to work with disabling
Instead of the catch-all dealing with feeds having no time, just let the catch-all handle everything. If the cog has been disabled for a long period of time and there are no matches via the saved feed information, the feed will only post 1 feed post instead of all of them (10, 20, 25 posts depending on the feed usually). If the cog is reinstated and there is only a partial match (say, 18 out of 20 feeds before it finds a qualifying match)... it will still post all 18 posts.
Co-authored-by: aikaterna <20862007+aikaterna@users.noreply.github.com>