uniphil / feedwerk

atom feed code from werkzeug

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

feedwerk

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.

Test

install & migrate from werkzeug.contrib.atom

$ pip install feedwerk

Rename imports werkzeug.contrib.atomfeedwerk.atom

- from werkzeug.contrib.atom import AtomFeed, FeedEntry
+ from feedwerk.atom         import AtomFeed, FeedEntry

bugs & maintenance

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 :)

changes

v1.2.0 2024-01-28

Python deprecated datetime.datetime.utcnow():

v1.1.0 2022-04-24

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 of werkzeug.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.

work on feedwerk

run tests

$ python -m pytest

lints

$ flake8 --max-line-length=100 *.py tests feedwerk

Acknowledgements

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.

About

atom feed code from werkzeug

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Python 100.0%