From ddaa790b54cf5a370c1f656cff461556abe3a290 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Haukur=20P=C3=A1ll?= Date: Sat, 22 Jan 2022 15:49:04 +0000 Subject: [PATCH] Readme updates before first "release" --- README.md | 42 +++++++++++++++++++++++++++++------------- src/ruv_dl/cli.py | 1 - 2 files changed, 29 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 357bf1d..8e93805 100644 --- a/README.md +++ b/README.md @@ -1,19 +1,20 @@ # RÚV-DL -RÚV-DL (`ruv-dl`) is terminal line client for downloading files from [RÚV](https://ruv.is/). +RÚV-DL (`ruv-dl`) is terminal line client for downloading content from [RÚV](https://ruv.is/). It handles the following tasks: - Query RÚV graphql API for program information - Wraps ffmpeg to download the video files - Caches and keeps track of downloaded files +- Assist with some common management tasks # Installation - Python version 3.8 - [ffmpeg](https://www.ffmpeg.org/download.html) -Be sure to add ffmpeg to `PATH`, especially windows users. +Be sure to add `ffmpeg` to `PATH`, especially windows users. And then: @@ -72,6 +73,7 @@ All the following commands are subcommands of `ruv-dl`. The search command is used to search for programs. It can take multiple search terms and will output a nice table with the programs found. If the search term contains spaces, be sure to wrap it in quotes. +The command searches for substring matches in the program title and foreign title (if any). The search command takes the following options: @@ -117,7 +119,7 @@ The easiest way to download programs is to append `--only-ids` to the `search` c ruv-dl search "hvolpa" "sámur" "blæja" --ignore-case --only-ids | ruv-dl download-program # prints Downloading Blæja - Þáttur 8 af 52: 100%|████████████| 2/2 [00:44<00:00, 22.29s/it] -Downloaded 2 episodes +... ``` These shows are now present in the `downloads/` folder. @@ -128,7 +130,7 @@ Blæja ||| Þáttur 8 af 52 ||| Bluey [1080p].mp4 Blæja ||| Þáttur 9 af 52 | ``` The naming convention of the downloaded files is: -Program title ||| Episode title ||| Program title \[QUALITY\].mp4 +`Program title ||| Episode title ||| foreign title [QUALITY].mp4` ### The `downloaded.jsonl` file @@ -140,11 +142,16 @@ If you want to re-download a single episodes, you can find the corresponding lin ## `organize` and the `organized/` folder -## Debugging +Understood by Plex +Assumes TV shows and season 1 and "þáttur x af y" -Check the `debug.log` file for more information and/or increase the `--log-level` to `DEBUG` to see more in the stderr. +### Incorrect episodes numbers in RÚV -The `debug.log` file is rotated, so it will not grow indefinitely. +### Missing foreign titles - `translations.json` + +## `details` + +TODO ## Scheduling the `ruv-dl` command @@ -193,17 +200,26 @@ systemctl --user enable dl_ruv.timer https://opensource.com/article/20/7/systemd-timers https://fedoramagazine.org/systemd-timers-for-scheduling-tasks/ +## Sending a telegram message + +TODO + ## Development -Features to be added +If you are interested in this project; check out the code, open up issues and send PRs. -- Handling of mp3 downloading. -- Create a main class instead of config class. -- Add support for checking downloaded episodes which are no longer available. +### Debugging + +Check the `debug.log` file for more information and/or increase the `--log-level` to `DEBUG` to see more in the stderr. -### Testing required +The `debug.log` file is rotated, so it will not grow indefinitely. -- Are the subtitles burnt into the mp4 video stream or are they in their own stream? +### Planned features + +- Handling of mp3 downloading. +- `check` command to check if mp4 files are ok on demand. +- `split` command to split a mp4 file into two different files based on a timestamp. +- Add support for checking downloaded episodes which are no longer available. ### `schema.graphql` diff --git a/src/ruv_dl/cli.py b/src/ruv_dl/cli.py index fdf0dd5..3731700 100644 --- a/src/ruv_dl/cli.py +++ b/src/ruv_dl/cli.py @@ -134,7 +134,6 @@ def organize(dry_run: bool): ) def details(program_ids: Tuple[str, ...], force_reload_programs: bool): """Get the details of all the episodes of the supplied program ids. Can be multiple.""" - global CONFIG CONFIG.force_reload_programs = force_reload_programs click.echo(main.details(program_ids, config=CONFIG))