Skip to content

Commit

Permalink
Readme updates before first "release"
Browse files Browse the repository at this point in the history
  • Loading branch information
HaukurPall committed Jan 22, 2022
1 parent 8c86f9d commit ddaa790
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 14 deletions.
42 changes: 29 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -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:

Expand Down Expand Up @@ -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:

Expand Down Expand Up @@ -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.
Expand All @@ -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

Expand All @@ -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

Expand Down Expand Up @@ -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`

Expand Down
1 change: 0 additions & 1 deletion src/ruv_dl/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -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))

Expand Down

0 comments on commit ddaa790

Please sign in to comment.