Browse and create XHTML based sites generated from PubSub nodes.
Find a file
Schimon Jehudah, Adv. af9d5ce688 An initial prototype.
2024-07-09 00:26:18 +03:00
css An initial prototype. 2024-07-09 00:26:18 +03:00
script An initial prototype. 2024-07-09 00:26:18 +03:00
xsl An initial prototype. 2024-07-09 00:26:18 +03:00
configuration.toml An initial prototype. 2024-07-09 00:26:18 +03:00
LICENSE Initial commit 2024-07-08 10:57:51 +02:00
pubsub_to_atom.py An initial prototype. 2024-07-09 00:26:18 +03:00
README.md An initial prototype. 2024-07-09 00:26:18 +03:00

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) from XMPP PubSub nodes (XEP-0060).

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:

$ 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 - Convert XMPP Pubsub Nodes to Atom Syndication Format.

  • AtomToPubsub - A little client that parses Atom + RSS feeds and send them on XMPP Pubsub Nodes.