Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/honzajavorek/film2trello
Turns film links to Trello cards 🍿
https://github.com/honzajavorek/film2trello
csfd films movies personal-tool trello
Last synced: about 5 hours ago
JSON representation
Turns film links to Trello cards 🍿
- Host: GitHub
- URL: https://github.com/honzajavorek/film2trello
- Owner: honzajavorek
- License: mit
- Created: 2015-01-29T10:23:49.000Z (almost 10 years ago)
- Default Branch: main
- Last Pushed: 2024-10-17T22:13:16.000Z (about 1 month ago)
- Last Synced: 2024-10-18T05:41:37.078Z (about 1 month ago)
- Topics: csfd, films, movies, personal-tool, trello
- Language: HTML
- Homepage: https://github.com/honzajavorek/film2trello
- Size: 1.91 MB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# film2trello
Personal Telegram bot which turns [CSFD.cz](http://csfd.cz) and [KVIFF.TV](https://kviff.tv) film links to [Trello](http://trello.com/) cards 🍿
Allows me and my wife to use Trello as our "To Watch" list for films.
Assumed Trello board structure:- First column is an inbox, a "To Watch" list.
- Any number of "Seen" columns follows, e.g. "Seen in 2024", "Seen in 2023"…
- Last column is "Archive".
If a card is in the inbox for several years, it gets moved out of the way to this archive.## Setup
- Install by Poetry
- Set `TELEGRAM_TOKEN` environment variable to the token BotFather gives you
- Set `TRELLO_KEY` environment variable to something you get at [Trello Power-Ups Admin](https://trello.com/power-ups/admin/)
- Set `TRELLO_TOKEN` environment variable to something you get at [Trello Power-Ups Admin](https://trello.com/power-ups/admin/), alternatively make a GET request to `https://trello.com/1/authorize?expiration=never&scope=read,write&response_type=token&name=film2trello&key=`, where `TRELLO_KEY` is the key above.
- Verify which Trello board you want to use, because the default value for the board ID is set to ours.
Override it with `--board`.
Get the ID of your board from its URL, e.g. if the URL of the board is `https://trello.com/b/mF7A3n3J/filmy-test`, then `mF7A3n3J` is the ID.
- Verify which Telegram users you want to allow and how they map to your Trello users, because the default values are set to us.
Override it with `--user`, e.g. `--user=119318534:honzajavorek`.
You can use the option multiple times to allow more users.
I don't remember how I've got the Telegram account IDs, ask the internet.
- Run `film2trello bot`
- Stop by Ctrl+C## Development
- Use Poetry to manage dependencies.
- Run `pytest` to test.
- Run `ruff check` to lint.
- Run `ruff format` to format code.
- To temporarily turn off production, run `flyctl machine stop`.
To bring it back, run `flyctl machine start`.## Deployment
The app runs on [Fly.io](https://fly.io/). Install their `flyctl`. Then you can do things like `flyctl launch --name=film2trello` or `flyctl deploy`. Use the following to prepare the environment:
```
$ flyctl secrets set TRELLO_KEY=... TRELLO_TOKEN=... TELEGRAM_TOKEN=...
```The app also uses GitHub Actions. It needs the `TRELLO_KEY`, and `TRELLO_TOKEN` secrets set on the [secrets setting page](https://github.com/honzajavorek/film2trello/settings/secrets/actions). The rest is in the `.github` directory.
## Automatic Deployment
Set GitHub Actions secret `FLY_API_TOKEN` to a value you get by running `flyctl auth token`.
## License
[MIT](LICENSE)