# anime-rss Download anime via RSS and Transmission ## Prerequisites [Transmission](https://transmissionbt.com/) needs to be installed, running, configured and accessible from the host running `anime-rss`. Further `transmission-remote` needs to be on the path. In the Transmission config file `~/.config/transmission-daemon/settings.json` check the `rpc-` properties, as `anime-rss` uses `transmission-remote` which sends the torrent URLs to Transmission via RPC. Also requires at least Python `3.9`. ## Install ###### Install dependencies `pip install feedparser requests` ###### Clone repo `git clone ...` ## Config ###### Adjust `config.json` * `animeDownloadDir` - base path where downloaded anime should be stored. *Without trailing slash*. Passed as download directory to transmission (`-w`) * `dirPerAnime` - whether to create one directory per anime. Created automatically as sub folder of `animeDownloadDir` by replacing spaces in the anime name with underscores ###### Adjust `animes.json` * Add a Feed - it has to have an `ID` that's used in output. Freetext * Add the RSS URL to the feed, e.g. `https://subsplease.org/rss/?t&r=1080` for the RSS feed of the 1080p releases of the `SubsPlease` group * Add an anime - `Title` should be the same as in the feed content * `Local` is the starting episode number, e.g. `00` for brand new series, or `25` for e.g the second season of an anime that continues with the numbering, where the first season had 24 episodes. Left padded with zeros to at least two digits * Add the weekday the anime airs via the `Airing` element * Provide an `Episode-Regex` to parse the episode number from the title of an RSS entry. As this regex is used for all elements of a feed it should match all those. Use the `$SHOW$` placeholder in the regex for substitution with the actual anime name during feed parsing. ## Running and example output ``` [MK13@brutebox ~]$ anime-rss path/to/config.json path/to/animes.json Checking feed: SubsPlease Checking anime: Go-toubun no Hanayome S2 - Airing every Thursday 02/x Checking anime: Jaku-Chara Tomozaki-kun - Airing every Friday 02/x Checking anime: Mushoku Tensei - Airing every Sunday 01/x NEW NEW NEW Mushoku Tensei 02 localhost:9091/transmission/rpc/ responded: "success" Checking anime: Ore dake Haireru Kakushi Dungeon - Airing every Friday 02/x Checking anime: Tensei Shitara Slime Datta Ken - Airing every Tuesday 25/x Checking anime: Wonder Egg Priority - Airing every Tuesday 01/x Checking feed: Nyaa Kaifuku Jutsushi no Yarinaoshi Checking anime: Kaifuku Jutsushi no Yarinaoshi - Airing every Wednesday 01/x Checking feed: Nyaa Shingeki no Kyojin Checking anime: Shingeki no Kyojin - Airing every Sunday 64/x NEW NEW NEW Shingeki no Kyojin 65 localhost:9091/transmission/rpc/ responded: "success" ``` Both parameters are optional, if not given they are searched in the current working directory. `anime-rss` also outputs colored and formatted text via ANSI escape sequences if supported.