Merge multiple feeds (RSS/Atom/JSON) into a single RSS feed.
Go to file
dependabot[bot] 4b5c774324
Bump the python-deps group with 5 updates
Bumps the python-deps group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [feedgen](https://github.com/lkiesow/python-feedgen) | `0.9.0` | `1.0.0` |
| [feedparser](https://github.com/kurtmckee/feedparser) | `6.0.10` | `6.0.11` |
| [lxml](https://github.com/lxml/lxml) | `4.9.3` | `4.9.4` |
| [pyyaml](https://github.com/yaml/pyyaml) | `6.0` | `6.0.1` |
| [pyinstaller](https://github.com/pyinstaller/pyinstaller) | `6.0.0` | `6.3.0` |


Updates `feedgen` from 0.9.0 to 1.0.0
- [Release notes](https://github.com/lkiesow/python-feedgen/releases)
- [Commits](https://github.com/lkiesow/python-feedgen/compare/v0.9.0...v1.0.0)

Updates `feedparser` from 6.0.10 to 6.0.11
- [Changelog](https://github.com/kurtmckee/feedparser/blob/develop/CHANGELOG.rst)
- [Commits](https://github.com/kurtmckee/feedparser/compare/6.0.10...6.0.11)

Updates `lxml` from 4.9.3 to 4.9.4
- [Release notes](https://github.com/lxml/lxml/releases)
- [Changelog](https://github.com/lxml/lxml/blob/master/CHANGES.txt)
- [Commits](https://github.com/lxml/lxml/compare/lxml-4.9.3...lxml-4.9.4)

Updates `pyyaml` from 6.0 to 6.0.1
- [Changelog](https://github.com/yaml/pyyaml/blob/main/CHANGES)
- [Commits](https://github.com/yaml/pyyaml/compare/6.0...6.0.1)

Updates `pyinstaller` from 6.0.0 to 6.3.0
- [Release notes](https://github.com/pyinstaller/pyinstaller/releases)
- [Changelog](https://github.com/pyinstaller/pyinstaller/blob/develop/doc/CHANGES.rst)
- [Commits](https://github.com/pyinstaller/pyinstaller/compare/v6.0.0...v6.3.0)

---
updated-dependencies:
- dependency-name: feedgen
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: python-deps
- dependency-name: feedparser
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-deps
- dependency-name: lxml
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-deps
- dependency-name: pyyaml
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-deps
- dependency-name: pyinstaller
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-deps
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-12-29 10:52:44 +00:00
.github feat(CI/dependabot): Group Dependabot PRs 2023-12-25 20:25:35 +00:00
.gitignore Update readme 2022-06-19 18:32:50 +02:00
config.yml Add var config max entries 2023-07-06 18:11:15 +01:00
LICENSE [init](codebase): Initial commit 2020-08-18 00:24:10 +01:00
README.md Merge branch 'master' into add-limit-entries 2023-10-26 14:53:27 +02:00
requirements.txt Bump the python-deps group with 5 updates 2023-12-29 10:52:44 +00:00
rssingle.png Add files via upload 2022-06-25 13:00:47 +02:00
rssingle.py Merge branch 'master' into add-limit-entries 2023-10-26 14:53:27 +02:00

RSSingle

Generates an RSS file from the list of other feeds (RSS/Atom/JSON). Very handy when you want to centralise the list of your feeds in one place and all your devices feed from the same place.

RRSingle

Run

  1. Download the binary.

Linux

wget https://github.com/tanrax/RSSingle/releases/download/v1.0.0/rssingle

Windows

wget https://github.com/tanrax/RSSingle/releases/download/v1.0.0/rssingle.exe
  1. Gives execution permissions.
chmod +x rssingle
  1. In the same directory as the binary, you can create a local config.yml file in this format:
title: My RSS Feed
description: My customised RSS feed with technology news
url: https://www.example.com
output: rss.xml
max_entries: 5 # Delete this line to get all
feeds:
  - https://programadorwebvalencia.com/feed/
  - https://republicaweb.es/feed/

If not, you can download the example in the repository.

curl -o config.yml https://raw.githubusercontent.com/tanrax/RSSingle/master/config.yml
  1. Run the binary.
./rssingle

A file called rss.xml will be created.

Development

Activate Debug messages by console.

export SR_LOG_LEVEl=DEBUG

Compiling

pyinstaller --onefile rssingle.py

Old versions

docker run --rm --volume $PWD:/app python:3.8-buster /bin/bash -c "cd /app; pip3 install -r requirements.txt; pyinstaller --onefile rssingle.py"

You will find the binary in dist.

Thanks

@shymega for his original project singlerss.