Werkzeug used to have an Atom/RSS feed generator, which was pretty great, even if it didn't make the most sense as part of the Werkzeug package.
This repository is a straight-forward extract of the atom code
from Werkzeug version 0.16.1
, including unit tests.
$ pip install feedwerk
Rename imports werkzeug.contrib.atom
→ feedwerk.atom
- from werkzeug.contrib.atom import AtomFeed, FeedEntry
+ from feedwerk.atom import AtomFeed, FeedEntry
This project exists to help kick the can of migrating atom libraries when
upgrading werkzeug, so the only goal is compatibility with 0.16.1
of
werkzeug.contrib.atom
. No new features will be considered. Bug fixes may be
rejected if they might be relied-on by anyone still using old Werkzeug.
On the other hand, if you like the API that Werkzeug used to have for atom feeds, please feel free to fork this project and build and improve on it! I managed (painfully!) to retain the git history for this module and its tests, so I think it's a good starting place :)
Python deprecated datetime.datetime.utcnow()
:
- Use
datetime.now(timezone.utc)
with.utcnow()
fallback for python 2.7 #6 @uniphil with thanks to @Siecje for reporting it.
Some features we depended on were deprecated in werkzeug 2.0 and removed in 2.1:
- remove
werkzeug.utils.escape
in favour of MarkupSafe #2 @mar1ad - use
Response
instead ofwerkzeug.wrappers.BaseResponse
#3 @uniphil
Both changes are backwards-compatible with previous werkzeug back to 1.0. Client code that depends on the return type of AtomFeed.get_response()
may need to be updated in rare cases.
$ python -m pytest
$ flake8 --max-line-length=100 *.py tests feedwerk
The atom feed generator was written by Werkzeug developers from 2007–2019. The project history affecting this code has been retained in version control; see contributors. The full source and history of Werkzeug is available at palletes/werkzeug. Werkzeug and this project are free to use under the terms of the BSD 3-Clause License.
This project is not affiliated with Werkzeug.