forked from sch/Rivista
76 lines
2.7 KiB
Markdown
76 lines
2.7 KiB
Markdown
# XMPP PubSub To Atom
|
|
|
|
A little client that parses XMPP Pubsub Nodes and sends them as Atom Syndication Format or OPML over HTTP.
|
|
|
|
## About
|
|
|
|
XMPP PubSub To Atom ("XPTA") is a simple Python script that parses XMPP Pubsub Nodes and sends them as Atom Syndication Format or OPML over HTTP.
|
|
|
|
XPTA generates Atom syndication feeds ([RFC 4287](https://www.rfc-editor.org/rfc/rfc4287)) from XMPP PubSub nodes ([XEP-0060](http://xmpp.org/extensions/xep-0060.html)).
|
|
|
|
This software was inspired from Tigase and was motivated by Movim.
|
|
|
|
## Requirements
|
|
|
|
* Python >= 3.5
|
|
* fastapi
|
|
* feedgenerator
|
|
* lxml
|
|
* slixmpp
|
|
* tomllib
|
|
|
|
## Installation
|
|
|
|
Extract the source package to a directory that you have permission to run
|
|
software.
|
|
|
|
Execute with one of the followings:
|
|
|
|
```shell
|
|
$ uvicorn pubsub_to_atom:app --host 127.0.0.1 --port 8000
|
|
$ python -m uvicorn pubsub_to_atom:app --reload
|
|
$ fastapi dev pubsub_to_atom.py
|
|
```
|
|
|
|
## Usage
|
|
|
|
It is possible to view a complete node and even a single item, which means, that it is possible to save bandwidth and it further means that a considered and carefully earnest use of this software would saves system overhead, which includes CPU, I/O and RAM usage.
|
|
|
|
### Viewing node items
|
|
|
|
|PubSub |Node |
|
|
|--- |--- |
|
|
|xmpp:pubsub.movim.eu|berlin-xmpp-meetup|
|
|
|
|
URL: http://127.0.0.1:8000/atom?pubsub=pubsub.movim.eu&node=berlin-xmpp-meetup
|
|
|
|
|
|
### Viewing a node item
|
|
|
|
|PubSub |Node |Item |
|
|
|--- |--- |--- |
|
|
|xmpp:pubsub.movim.eu|berlin-xmpp-meetup|let-s-talk-about-the-xsf-and-possibly-other-things-6A8eV4|
|
|
|
|
URL: http://127.0.0.1:8000/atom?pubsub=pubsub.movim.eu&node=berlin-xmpp-meetup&item=let-s-talk-about-the-xsf-and-possibly-other-things-6A8eV4
|
|
|
|
## Author
|
|
|
|
Schimon Jehudah Zackary
|
|
|
|
## License
|
|
|
|
CSS and XSLT stylesheets are licensed under the license MIT.
|
|
|
|
JS scripts are licensed under the license MIT.
|
|
|
|
Python code is licensed under the license AGPL-3.0 only.
|
|
|
|
## Acknowledgement
|
|
|
|
Special thanks to "d3x" and "cchianel" from IRC channel #python on irc.libera.chat
|
|
|
|
## Similar Projects
|
|
|
|
* [AtomEntry](https://github.com/tigase/sureim/blob/master/site/src/main/java/tigase/sure/web/site/client/pubsub/AtomEntry.java) and [PubSubPublishViewImpl.java](https://github.com/tigase/sureim/blob/master/site/src/main/java/tigase/sure/web/site/client/pubsub/PubSubPublishViewImpl.java)- Convert XMPP Pubsub Nodes to Atom Syndication Format and convey them over HTTP.
|
|
|
|
* [AtomToPubsub](https://github.com/edhelas/atomtopubsub) - A little client that parses Atom + RSS feeds and send them on XMPP Pubsub Nodes.
|