Quick Python script to convert a letterboxd list nto a Jellyfin-compatible library structure.
Project description
letterboxd2jellyfin
Quick Python script to convert a letterboxd list (eg https://letterboxd.com/matchup/list/scream-ranked/)
into a Jellyfin-compatible library structure
of stub files.
Install
pip install letterboxd2jellyfin
Why
This is for the niche use case where you:
- Have a physical media collection that you haven't ripped
- You would like to browse that collection in Jellyfin
- You have a public list in Letterboxd of all the movies you own
This script will read the list from Letterboxd and copy a stub .mp4 file to
the appropriate location.
For example:
$ letterboxd2jellyfin -o 'deleteme' -url https://letterboxd.com/matchup/list/scream-ranked/
parsing URL
Loading playlist `scream-ranked` from username `matchup`...
done!
This playlist has 6 entries
creating stub file deleteme/Scream (1996)/Scream (1996).mp4
creating stub file deleteme/Scream 4 (2011)/Scream 4 (2011).mp4
creating stub file deleteme/Scream 2 (1997)/Scream 2 (1997).mp4
creating stub file deleteme/Scream VI (2023)/Scream VI (2023).mp4
creating stub file deleteme/Scream (2022)/Scream (2022).mp4
creating stub file deleteme/Scream 3 (2000)/Scream 3 (2000).mp4
all done!
A stub video file for Blu-rays and DVDs is included, or you can provide your own
with -dvd.
Usage
$ letterboxd2jellyfin --help
usage: Turn a Letterboxd list into a Jellyfin library structure, using a stub video file.
options:
-h, --help show this help message and exit
-o, --output-path OUTPUT_PATH
Output Jellyfin library path. Should include "Movies" at the end (eg /path/to/library/Movies)
-u, --username USERNAME
Letterboxd username
-p, --playlist-slug PLAYLIST_SLUG
The playlist slug (eg "scream-ranked" from https://letterboxd.com/matchup/list/scream-ranked/)
-url, --playlist-url PLAYLIST_URL
Attempt to parse a letterboxd playlist URL, overrides --username and --playlist-slug (eg "https://letterboxd.com/matchup/list/scream-ranked/")
-v, --video_file VIDEO_FILE
Override the stub video file to put in the library
-dvd Use the build-in DVD placeholder video file instead of the blu-ray one
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file letterboxd2jellyfin-1.1.0.tar.gz.
File metadata
- Download URL: letterboxd2jellyfin-1.1.0.tar.gz
- Upload date:
- Size: 205.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
56726da278b72c08b64258c414d9cc387237f1d9b5afe03fe9c96556dd12d258
|
|
| MD5 |
277cf41d49f78af6e8834581d8df4c4e
|
|
| BLAKE2b-256 |
9db81805fffa064f536bcda68dfe07ef083af917076845cf01b3f912787adafc
|
File details
Details for the file letterboxd2jellyfin-1.1.0-py3-none-any.whl.
File metadata
- Download URL: letterboxd2jellyfin-1.1.0-py3-none-any.whl
- Upload date:
- Size: 208.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Arch Linux","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8241dc45c09eb98d677be423cd8e3e319feca1055e49a3c30a90ecc4cd85e606
|
|
| MD5 |
32fb85bfe6030cffa1d86e7ce142d21a
|
|
| BLAKE2b-256 |
22f86c1efe6b57bbbfb6d7fe94a158bfc5b14c54d537cc0cfdda86c8eb5e1f8f
|