Skip to content

Commit

Permalink
release: 0.3.0
Browse files Browse the repository at this point in the history
  • Loading branch information
LeoniePhiline committed May 9, 2023
1 parent 5747205 commit fba085b
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 8 deletions.
29 changes: 22 additions & 7 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,24 +9,38 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Added

_(none)_

### Changed

_(none)_

### Fixed

_(none)_

### Removed

_(none)_

## [0.3.0] - 2023-05-10

### Added

- Added support for YouTube embeds, next to the existing support for Vimeo embeds and the built-in wistia support. Needs [`yt-dlp`](https://github.com/yt-dlp/yt-dlp).

### Changed

- Changed lessons list to tree conversion algorithm to support all cases of nested categories and root lessons. (Fixes [#1](https://github.com/LeoniePhiline/elopage-dl/issues/1))
- All lesson content is now discovered eagerly, then downloads are performed in parallel, if a `--parallel` value greater than `1` (default) is provided. (Closes [#2](https://github.com/LeoniePhiline/elopage-dl/issues/2) with an alternative approach.)
- Changed lessons list to tree conversion algorithm to support all cases of nested categories and root lessons. (Fixes [#1](https://github.com/LeoniePhiline/elopage-dl/issues/1).)
- Hoisting root lessons into empty categories, where root categories are used as separators rather than as containers.
- Temporarily, `--parallel` does nothing. All items are offline-cached sequentially.

### Fixed

- Asset names might contain HTML entities despite being served in JSON format. These HTML entities are now decoded.
- Directory names are now whitespace-trimmed.
- Asterisks in directory names are replaced by dashes.

### Removed

_(none)_

## [0.2.0] - 2023-05-03

### Added
Expand All @@ -48,7 +62,8 @@ _(none)_

- Initial implementation.

[unreleased]: https://github.com/LeoniePhiline/showcase-dl/compare/0.2.0...HEAD
[unreleased]: https://github.com/LeoniePhiline/showcase-dl/compare/0.3.0...HEAD
[0.3.0]: https://github.com/LeoniePhiline/elopage-dl/releases/tag/0.3.0
[0.2.0]: https://github.com/LeoniePhiline/elopage-dl/releases/tag/0.2.0
[0.1.0]: https://github.com/LeoniePhiline/elopage-dl/releases/tag/0.1.0

9 changes: 8 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,8 @@ In your terminal, enter the following, while replacing the `<MARKERS>` with the

You can replace `--course-id` by `-c`, `--token` by `-t` and `--output-dir` by `-o`.

You can optionally provide `--parallel <number>` to enable multiple files being offline-cached at the same time, rather than one after the other.

After pressing `Enter`, you should see a bunch of stuff printed into your terminal, depending on how many `-v` you pass:

- None to only show errors.
Expand All @@ -90,7 +92,11 @@ You should see the above described folder structure having been created, with co
Some courses might not use elopage's built-in wistia support, but rather use vimeo embeds. You need [`yt-dlp`](https://github.com/yt-dlp/yt-dlp) to fetch these. If `yt-dlp` can be invoked on your computer by just typing `yt-dlp` then you're good. Otherwise, use the `--yt-dlp-bin <PATH TO yt-dlp>` option to provide a full path.

## Is it blazingly fast?
No - and it's not meant to be. Downloading all files in parallel would be possible, but also a good way to hit the rate limits of either the elopage API or the wistia video source.
Not by default - and it's not meant to be. Downloading all files in parallel would be rather trivial, but also a good way to hit the rate limits of either the elopage API or the wistia/vimeo/youtube video source.

However, if you like living on the edge, you can use the `--parallel` command line option to pass the number of lessons which should be processed at the same time. You can use `--parallel 50` to offline-cache videos of 50 lessons in parallel, but you might easily get throttled or rate-limited for doing so.

Note that debug (`-vvv` or `RUST_LOG=elopage_dl=debug`) output becomes hard to follow and make sense of when parallel downloading is enabled.

## Full usage

Expand All @@ -103,6 +109,7 @@ Options:
-o, --output-dir <OUTPUT_DIR> Target-dir [env: ELOPAGE_DIR=]
-u, --user-agent <USER_AGENT> User agent (browser signature) [env: USER_AGENT=] [default: "User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/112.0"]
-l, --language <LANGUAGE> Content language tag, such as "fr", "de-CH" or "en-CA" [env: CONTENT_LANGUAGE=] [default: en]
-p, --parallel <PARALLEL> Download files of up to N lessons at the same time [env: PARALLEL_DOWNLOADS=] [default: 1]
-y, --yt-dlp-bin <YT_DLP_BIN> Path to the `yt-dlp` binary - required only if vimeo iframes are used [env: YT_DLP_BIN=] [default: yt-dlp]
-v, --verbose... More output per occurrence
-q, --quiet... Less output per occurrence
Expand Down

0 comments on commit fba085b

Please sign in to comment.