-
Notifications
You must be signed in to change notification settings - Fork 455
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
pyrss2gen is abandoned #3768
Comments
PyRSS2Gen is abandoned, but the other libraries don’t seem to look much better. We won’t implement RSS generation from scratch. If a new Python release manages to break it, we’ll vendor it and fix it (although it has so few dependencies that even the CPython deletionists are very unlikely to break it). If anyone wants to contribute a migration to another maintained library (perhaps https://pypi.org/project/feedgenerator/ ?), we would be happy to merge it. |
I use feedgenerator in many scripts I have. Even though it lacks graphics and does not yet allow multiple enclosures it does a great job. I would recommend it and it is easy to utilize. Support for enclosures and graphics would be easy to correct. I use it to generate Atom 1.0 feeds from HTML and I think it is one of the bests. May I offer an assistance on this matter? |
@sjehuda Pull requests are always welcome. |
I am still reading the code and also file I can use library feedgenerator and I can also copy the Atom code from nikola.py and make an RSS from it. Here are options for you to choose and I will follow your lead. Option 1: Make RSS from scratchCopy the Atom code from module Option 2: Make RSS from scratch and create a new moduleCreate a new module for Nikola (e.g. Option 3: Use libraryUse feedgenerator for both Atom and RSS. Option 4: Remove RSS and fix plugin GalleryRemove RSS entirely in favour of Atom, and add Atom support to module Option 5: Remove RSS, create a new module and fix plugin GalleryRemove RSS entirely in favour of Atom, create a new module for Nikola (e.g. Of note:
|
|
I did notice that Nikola makes XML processing of its own, after receiving a produced object from PyRSS2Gen, and it adds stylesheet element to RSS which is not provided by PyRSS2Gen, so I suppose every missing element Nikola desires to have can be complemented within Nikola itself, if required, albeit it would be preferable to collaborate with @getpelican and add the missing features to
I do not know how every client checks for seen feeds (there are Links and IDs that are probably the most used elements for making this check, which is what I do with an XMPP chatbot I have made).
I might take that task for later, especially in concern to media objects as enclosures and HTML.
Unless I am misunderstanding, same comment as per collaboration with
I am not sure what ActivityPub is, as I did not invest time to investigate it yet. A similar platform GNU Social (was StatusNet), which - I think - also communicates using ActivityPub, is providing Atom, RDF, RSS and a filetype called ActivityStream (archived version) which I decided to add support for in a userscript I have made. That is to say, if it is structured, and I can read it, then I will read it, even if someone would tell me it was not meant to be read.
I am new to Gemini and Gopher and they seem fun, so I figured adding Gemini support could be a future consideration.
I am a lawyer, not an expert software engineer, so I mostly follow advises of experts, which would be you. What I really do is breaking walls, and, even though I attempt to do the best as I possibly can, I therefore would expect to receive criticism and suggestions for improvements of the work I do and ideas I provide. |
This is the first time I work to generate RSS, which means that aside from parsing RSS, I do not work with RSS (until today). However, I noticed that Nikola uses As I look at def rss_attributes(self):
return {'version': self._version} And Atom is pretty much constant, so I do not expect any issue. |
I do not want to do something which is not in accord to your plan.
I am waiting for your respond.
I am eager to take this task.
|
What questions need a response? |
On Mon, 29 Apr 2024 11:18:37 -0700 Chris Warrick ***@***.***> wrote:
What questions need a response?
1) Is this statement (part of a previous comment) correct?
I did notice that Nikola makes XML processing of its own...
That is to say, did I understand the code or not?
2) Concerning your comment:
A redesign that makes the feed generation into plugins and allows
adding extra feed formats would be fine.
Do you prefer to have Syndication feeds as plugin?
|
|
Great.
I will start with feedgenerator and compare resulted outputs.
Thank you
|
Environment
Python Version: 3.11/3.12
Nikola Version: 8.3.0
Operating System: Arch Linux
Description:
Hi! 👋
I package this project for Arch Linux.
While rebuilding for Python 3.12 I noticed that the pyrss2gen upstream is very abandoned and hasn't been touched since 2013.
Its current upstream website (http://dalkescientific.com/Python/PyRSS2Gen.html) doesn't provide TLS and although BSD-3-Clause licensed, the license file is not contained in the sdist tarball.
On Arch Linux we have (for several reasons) decided to start building from upstream provided, auto-generated source tarballs or pinned git commits/tags instead.
As I don't deem pyrss2gen a future proof library, I'd be happy if you would choose another for use in nikola (so that I can remove the dependency from the repositories) or if you would consider adopting it.
The text was updated successfully, but these errors were encountered: