Rivista/README.md
Schimon Jehudah, Adv. af9d5ce688 An initial prototype.
2024-07-09 00:26:18 +03:00

74 lines
2.4 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 ois 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.
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) - Convert XMPP Pubsub Nodes to Atom Syndication Format.
* [AtomToPubsub](https://github.com/edhelas/atomtopubsub) - A little client that parses Atom + RSS feeds and send them on XMPP Pubsub Nodes.