From 40166d5f0c5d748bb51092d1d2fdf08e89ac0b72 Mon Sep 17 00:00:00 2001 From: simon Date: Wed, 5 Apr 2023 23:31:14 +0700 Subject: [PATCH] initial commit, MVP --- .gitignore | 9 ++ README.md | 67 ++++++++++++++ assets/collection-art.jpg | Bin 0 -> 66688 bytes assets/screenshot-home.png | Bin 0 -> 126704 bytes config.sample.json | 7 ++ deploy.sh | 38 ++++++++ main.py | 18 ++++ requirements.txt | 1 + src/__init__.py | 0 src/config.py | 11 +++ src/connect.py | 104 ++++++++++++++++++++++ src/episode.py | 58 +++++++++++++ src/season.py | 5 ++ src/series.py | 173 +++++++++++++++++++++++++++++++++++++ 14 files changed, 491 insertions(+) create mode 100644 .gitignore create mode 100644 README.md create mode 100644 assets/collection-art.jpg create mode 100644 assets/screenshot-home.png create mode 100644 config.sample.json create mode 100755 deploy.sh create mode 100644 main.py create mode 100644 requirements.txt create mode 100644 src/__init__.py create mode 100644 src/config.py create mode 100644 src/connect.py create mode 100644 src/episode.py create mode 100644 src/season.py create mode 100644 src/series.py diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8ccd457 --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +# config file +config.json + +# py +__pycache__ +.mypy_cache + +# editor +.vscode diff --git a/README.md b/README.md new file mode 100644 index 0000000..a5263fd --- /dev/null +++ b/README.md @@ -0,0 +1,67 @@ +## Tube Archivist Jellyfin Integration +Import your Tube Archivist media folder into Jellyfin + +![home screenshot](assets/screenshot-home.png?raw=true "Jellyfin Home") + +This is a proof of concept, expect bugs, for the time being, only use it for your testing environment, *not* for your main Jellyfin server. This requires Tube Archivist *unstable* builds for API compatibility. + +## Core functionality +- Import each YouTube channel as a TV Show +- Each year will become a Season of that Show +- Load artwork and additional metadata into Jellyfin + +## How does that work? +At the core, this links the two APIs together: This first queries the Jellyfin API for YouTube videos the goes to look up the required metadata in the Tube Archivist API. Then as a secondary step this will transfer the artwork as indexed from Tube Archivist. + +This doesn't depend on any additional Jellyfin plugins, that is a stand alone solution. + +## Setup Jellyfin +0. Add the Tube Archivist **/youtube** folder as a media folder for Jellyfin. + - IMPORTANT: This needs to be mounted as **read only** aka `ro`, otherwise this will mess up Tube Archivist. + +Example Jellyfin setup: +```yml +jellyfin: + image: jellyfin/jellyfin + container_name: jellyfin + restart: unless-stopped + network_mode: host + volumes: + - ./volume/jellyfin/config:/config + - ./volume/jellyfin/cache:/cache + - ./volume/tubearchivist/youtube:/media/youtube:ro # note :ro at the end +``` + +1. Add a new media library to your Jellyfin server for your Tube Archivist videos, required options: + - Content type: `Shows` + - Displayname: `YouTube` + - Folder: Root folder for Tube Archivist videos + - Deactivate all Metadata downloaders + - Automatically refresh metadata from the internet: `Never` + - Deactivate all Image fetchers + +2. Let Jellyfin complete the library scan + - This works best if Jellyfin has found all media files and Tube Archivist isn't currently downloading. + - At first, this will add all channels as a Show with a single Season 1. + - Then this script will populate the metadata + +## Install Standalone +1. Install required libraries for your environment, e.g. +```bash +pip install -r requirements.txt +``` +2. rename/copy *config.sample.json* to *config.json*. +3. configure these keys: + - `ta_video_path`: Absolute path of your /youtube folder from Tube Archivist + - `ta_url`: Full URL where Tube Archivist is reachable + - `ta_token`: Tube Archivist API token, accessible from the settings page + - `jf_url`: Full URL where Jellyfin is reachable + - `jf_token`: Jellyfin API token + +Then run the script with python, e.g. +```python +python main.py +``` + +## Install with Docker +Coming soon... diff --git a/assets/collection-art.jpg b/assets/collection-art.jpg new file mode 100644 index 0000000000000000000000000000000000000000..b699e5f4d5e9f902e49c5dc95cab58594fd549d0 GIT binary patch literal 66688 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%0D4#VVok8K&c*BYC9VlHv3fAH88dex@N->_ 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

%#SY*icz&QEw+uIkY-F>0#*&oBdN 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 UDPR1q#NSD(N?K3K9>YWb2QI`zvj6}9 literal 0 HcmV?d00001 diff --git a/config.sample.json b/config.sample.json new file mode 100644 index 0000000..444b661 --- /dev/null +++ b/config.sample.json @@ -0,0 +1,7 @@ +{ + "ta_video_path": "/media/docker/volume/tubearchivist/youtube", + "ta_url": "http://tubearchivist.local", + "ta_token": "xxxxxxxxxxxxxxxx", + "jf_url": "http://jellyfin.local:8096", + "jf_token": "yyyyyyyyyyyyyyyy" +} diff --git a/deploy.sh b/deploy.sh new file mode 100755 index 0000000..1a07ca3 --- /dev/null +++ b/deploy.sh @@ -0,0 +1,38 @@ +#!/bin/bash + +set -e + +function validate { + + if [[ $1 ]]; then + check_path="$1" + else + check_path="." + fi + + echo "run validate on $check_path" + + # note: this logic is duplicated in the `./github/workflows/lint_python.yml` config + # if you update this file, you should update that as well + echo "running black" + black --exclude "migrations/*" --diff --color --check -l 79 "$check_path" + echo "running codespell" + codespell --skip="./.git,./package.json,./package-lock.json,./node_modules,./.mypy_cache" "$check_path" + echo "running flake8" + flake8 "$check_path" --exclude "migrations" --count --max-complexity=10 \ + --max-line-length=79 --show-source --statistics + echo "running isort" + isort --skip "migrations" --check-only --diff --profile black -l 79 "$check_path" + printf " \n> all validations passed\n" + +} + +if [[ $1 == "validate" ]]; then + validate "$2" +else + echo "valid options are: validate" +fi + + +## +exit 0 diff --git a/main.py b/main.py new file mode 100644 index 0000000..cd08242 --- /dev/null +++ b/main.py @@ -0,0 +1,18 @@ +"""application entry point""" + +from src.connect import Jellyfin, TubeArchivist, folder_check +from src.series import Library + +folder_check() +Jellyfin().ping() +TubeArchivist().ping() + + +def main(): + """main thread""" + library = Library() + library.validate_series() + + +if __name__ == "__main__": + main() diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..663bd1f --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +requests \ No newline at end of file diff --git a/src/__init__.py b/src/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/src/config.py b/src/config.py new file mode 100644 index 0000000..fdfbdc4 --- /dev/null +++ b/src/config.py @@ -0,0 +1,11 @@ +"""handle config file""" + +import json + + +def get_config(): + """get connection config""" + with open("config.json", "r", encoding="utf-8") as f: + config_content = json.loads(f.read()) + + return config_content diff --git a/src/connect.py b/src/connect.py new file mode 100644 index 0000000..60da19d --- /dev/null +++ b/src/connect.py @@ -0,0 +1,104 @@ +"""handle connections""" + +import base64 +import os + +import requests + +from src.config import get_config + +CONFIG = get_config() + + +class Jellyfin: + """connect to jellyfin""" + + headers = {"Authorization": "MediaBrowser Token=" + CONFIG["jf_token"]} + base = CONFIG["jf_url"] + + def get(self, path): + """make a get request""" + url = f"{self.base}/{path}" + response = requests.get(url, headers=self.headers, timeout=10) + if response.ok: + return response.json() + + print(response.text) + return False + + def post(self, path, data): + """make a post request""" + url = f"{self.base}/{path}" + response = requests.post( + url, headers=self.headers, json=data, timeout=10 + ) + if not response.ok: + print(response.text) + + def post_img(self, path, thumb_base64): + """set image""" + url = f"{self.base}/{path}" + new_headers = self.headers.copy() + new_headers.update({"Content-Type": "image/jpeg"}) + response = requests.post( + url, headers=new_headers, data=thumb_base64, timeout=10 + ) + if not response.ok: + print(response.text) + + def ping(self): + """ping the server""" + path = "Users" + response = self.get(path) + if not response: + raise ConnectionError("failed to connect to jellyfin") + + print("[connection] verified jellyfin connection") + + +class TubeArchivist: + """connect to Tube Archivist""" + + headers = {"Authorization": "Token " + CONFIG.get("ta_token")} + base = CONFIG["ta_url"] + + def get(self, path): + """get document from ta""" + url = f"{self.base}/api/{path}" + response = requests.get(url, headers=self.headers, timeout=10) + + if response.ok: + response_json = response.json() + if "data" in response_json: + return response.json().get("data") + + return response.json() + + print(response.text) + return False + + def get_thumb(self, path): + """get encoded thumbnail from ta""" + url = CONFIG.get("ta_url") + path + response = requests.get( + url, headers=self.headers, stream=True, timeout=10 + ) + + return base64.b64encode(response.content) + + def ping(self): + """ping tubearchivist server""" + response = self.get("ping/") + if not response: + raise ConnectionError("failed to connect to tube archivist") + + print("[connection] verified tube archivist connection") + + +def folder_check(): + """check if ta_video_path is accessible""" + if not os.path.exists("config.json"): + raise FileNotFoundError("config.json file not found") + + if not os.path.exists(CONFIG["ta_video_path"]): + raise FileNotFoundError("failed to access ta_video_path") diff --git a/src/episode.py b/src/episode.py new file mode 100644 index 0000000..4407d7f --- /dev/null +++ b/src/episode.py @@ -0,0 +1,58 @@ +"""set metadata to episodes""" + +from datetime import datetime + +from src.connect import Jellyfin, TubeArchivist + + +class Episode: + """interact with an single episode""" + + def __init__(self, youtube_id, jf_id): + self.youtube_id = youtube_id + self.jf_id = jf_id + + def sync(self): + """sync episode metadata""" + ta_video = self.get_ta_video() + self.update_metadata(ta_video) + self.update_artwork(ta_video) + + def get_ta_video(self): + """get video metadata from ta""" + path = f"/video/{self.youtube_id}" + ta_video = TubeArchivist().get(path) + + return ta_video + + def update_metadata(self, ta_video): + """update jellyfin metadata from item_id""" + published = ta_video.get("published") + published_date = datetime.strptime(published, "%d %b, %Y") + data = { + "Id": self.jf_id, + "Name": ta_video.get("title"), + "Genres": [], + "Tags": [], + "ProductionYear": published_date.year, + "ProviderIds": {}, + "ParentIndexNumber": published_date.year, + "PremiereDate": published_date.isoformat(), + "Overview": self._get_desc(ta_video), + } + path = f"Items/{self.jf_id}" + Jellyfin().post(path, data) + + def update_artwork(self, ta_video): + """update episode artwork in jf""" + thumb_base64 = TubeArchivist().get_thumb(ta_video.get("vid_thumb_url")) + path = f"Items/{self.jf_id}/Images/Primary" + Jellyfin().post_img(path, thumb_base64) + + def _get_desc(self, ta_video): + """get description""" + raw_desc = ta_video.get("description").replace("\n", "
") + if len(raw_desc) > 500: + return raw_desc[:500] + " ..." + + return raw_desc diff --git a/src/season.py b/src/season.py new file mode 100644 index 0000000..192f2c6 --- /dev/null +++ b/src/season.py @@ -0,0 +1,5 @@ +"""set metadata to seasons""" + + +def setup_seasons(): + """setup all missing seasons""" diff --git a/src/series.py b/src/series.py new file mode 100644 index 0000000..f29bc0a --- /dev/null +++ b/src/series.py @@ -0,0 +1,173 @@ +"""set metadata to shows""" + +import base64 +import os +from time import sleep + +from src.config import get_config +from src.connect import Jellyfin, TubeArchivist +from src.episode import Episode + + +class Library: + """grouped series""" + + def __init__(self): + self.yt_collection = self.get_yt_collection() + + def get_yt_collection(self): + """get collection id for youtube folder""" + path = "Items?Recursive=true&includeItemTypes=Folder" + folders = Jellyfin().get(path) + for folder in folders["Items"]: + if folder.get("Name").lower() == "youtube": + return folder.get("Id") + + raise ValueError("youtube folder not found") + + def validate_series(self): + """validate all series""" + all_shows = self._get_all_series() + for show in all_shows["Items"]: + show_handler = Show(show) + folders = show_handler.create_folders() + show_handler.validate_show() + show_handler.validate_episodes() + show_handler.delete_folders(folders) + + self.set_collection_art() + + def _get_all_series(self): + """get all shows indexed in jf""" + path = f"Items?Recursive=true&IncludeItemTypes=Series&fields=ParentId,Path&ParentId={self.yt_collection}" # noqa: E501 + all_shows = Jellyfin().get(path) + + return all_shows + + def set_collection_art(self): + """set collection ta art""" + with open("assets/collection-art.jpg", "rb") as f: + asset = f.read() + + folders = Jellyfin().get("Library/MediaFolders") + for folder in folders["Items"]: + if folder.get("Name").lower() == "youtube": + jf_id = folder.get("Id") + path = f"Items/{jf_id}/Images/Primary" + Jellyfin().post_img(path, base64.b64encode(asset)) + + +class Show: + """interact with a single show""" + + def __init__(self, show): + self.show = show + + def _get_all_episodes(self): + """get all episodes of show""" + series_id = self.show.get("Id") + path = f"Shows/{series_id}/Episodes?fields=Path" + all_episodes = Jellyfin().get(path) + + return all_episodes["Items"] + + def _get_expected_seasons(self): + """get all expected seasons""" + episodes = self._get_all_episodes() + all_years = {os.path.split(i["Path"])[-1][:4] for i in episodes} + + return all_years + + def _get_existing_seasons(self): + """get all seasons indexed of series""" + series_id = self.show.get("Id") + path = f"Shows/{series_id}/Seasons" + all_seasons = Jellyfin().get(path) + + return [str(i.get("IndexNumber")) for i in all_seasons["Items"]] + + def create_folders(self): + """create season folders if needed""" + all_expected = self._get_expected_seasons() + all_existing = self._get_existing_seasons() + + base = get_config().get("ta_video_path") + channel_name = os.path.split(self.show["Path"])[-1] + folders = [] + for year in all_expected: + if year not in all_existing: + path = os.path.join(base, channel_name, year) + os.mkdir(path) + folders.append(path) + + self._wait_for_seasons() + return folders + + def delete_folders(self, folders): + """delete temporary folders created""" + for folder in folders: + os.removedirs(folder) + + def _wait_for_seasons(self): + """wait for seasons to be created""" + jf_id = self.show["Id"] + path = f"Items/{jf_id}/Refresh?Recursive=true&ImageRefreshMode=Default&MetadataRefreshMode=Default" # noqa: E501 + Jellyfin().post(path, False) + for _ in range(12): + all_existing = set(self._get_existing_seasons()) + all_expected = self._get_expected_seasons() + if all_expected.issubset(all_existing): + return + + print(f"[setup][{jf_id}] waiting for seasons to be created") + sleep(5) + + raise TimeoutError("timeout reached for creating season folder") + + def validate_show(self): + """set show metadata""" + ta_channel = self._get_ta_channel() + self.update_metadata(ta_channel) + self.update_artwork(ta_channel) + + def _get_ta_channel(self): + """get ta channel metadata""" + episode = self._get_all_episodes()[0] + youtube_id = os.path.split(episode["Path"])[-1][9:20] + path = f"/video/{youtube_id}" + ta_video = TubeArchivist().get(path) + + return ta_video.get("channel") + + def update_metadata(self, ta_channel): + """update channel metadata""" + path = "Items/" + self.show["Id"] + data = { + "Id": self.show["Id"], + "Name": ta_channel.get("channel_name"), + "Overview": ta_channel.get("channel_description"), + "Genres": [], + "Tags": [], + "ProviderIds": {}, + } + Jellyfin().post(path, data) + + def update_artwork(self, ta_channel): + """set channel artwork""" + jf_id = self.show["Id"] + jf_handler = Jellyfin() + primary = TubeArchivist().get_thumb(ta_channel["channel_thumb_url"]) + jf_handler.post_img(f"Items/{jf_id}/Images/Primary", primary) + jf_handler.post_img(f"Items/{jf_id}/Images/Logo", primary) + banner = TubeArchivist().get_thumb(ta_channel["channel_banner_url"]) + jf_handler.post_img(f"Items/{jf_id}/Images/Banner", banner) + tvart = TubeArchivist().get_thumb(ta_channel["channel_tvart_url"]) + jf_handler.post_img(f"Items/{jf_id}/Images/Backdrop", tvart) + + def validate_episodes(self): + """sync all episodes""" + all_episodes = self._get_all_episodes() + for video in all_episodes: + youtube_id = os.path.split(video["Path"])[-1][9:20] + jf_id = video["Id"] + Episode(youtube_id, jf_id).sync()