about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAge
* chore(version): v1.6.0 v1.6.0Benedikt Peetz2025-06-16
|
* build(cog.toml): Use the correct remote urlBenedikt Peetz2025-06-16
|
* build(cog.toml): Use correct usernameBenedikt Peetz2025-06-16
|
* style(treewide): ReformatBenedikt Peetz2025-06-16
|
* chore(treewide): Add missing copyright headersBenedikt Peetz2025-06-16
|
* style(yt/select): Apply clippy's suggestionsBenedikt Peetz2025-06-16
|
* fix(yt/update): Also handle the newly introduced error conditionsBenedikt Peetz2025-06-16
|
* feat(yt_dlp): Support a DeArrow post processorBenedikt Peetz2025-06-16
|
* refactor(yt_dlp/lib): De-duplicate the info json sanitize codeBenedikt Peetz2025-06-16
|
* refactor(yt_dlp/lib): Explicitly convert python exceptions into an errorBenedikt Peetz2025-06-16
| | | | This avoids having to wrap all blocks into a `match` statement.
* build(.envrc): Also disable ytdlp plugins by defaultBenedikt Peetz2025-06-16
|
* build(package/package.nix): Update to the new build requirementsBenedikt Peetz2025-06-16
|
* build({flake,Cargo}.lock): UpdateBenedikt Peetz2025-06-16
|
* fix(scripts/mkdb.sh): Also use the `$DATABASE_URL` variable as source sourceBenedikt Peetz2025-06-16
| | | | This avoids having to specify the db location twice.
* refactor(yt/select/selection_file): Migrate from `trinitry` to `shlex`Benedikt Peetz2025-06-16
| | | | shlex is better maintained, and _actually_ meant for this purpose .
* test(yt/cli): Test the CLIBenedikt Peetz2025-06-16
|
* fix(libmpv2-sys): Avoid generating comments, that confuse rustdocBenedikt Peetz2025-06-16
|
* fix(yt/cli): Remove duplicated short flag key (help also uses 'h')Benedikt Peetz2025-06-16
|
* feat(yt/cli): Add support for command line completionsBenedikt Peetz2025-06-16
|
* build(.envrc): Remove outdated env variablesBenedikt Peetz2025-06-16
|
* feat(yt/select/split): Make sorting configurableBenedikt Peetz2025-06-16
| | | | | I also moved that to a separate subcommand, as we would otherwise have too many `requires`/`conflicts_with` statements.
* feat(yt/videos/list): Replace the nucleo matcher with a simple `contains`Benedikt Peetz2025-06-16
| | | | | | The matching behaviour was not predictable at all (probably due to a bad config), which than led to using `yt videos ls | grep -i <query>` instead.
* fix(yt/download/get_file_size): Correct deal with `filesize_approx` = NullBenedikt Peetz2025-06-15
|
* fix(yt_dlp/json_{cast,get}): Improve error reportingBenedikt Peetz2025-06-15
|
* build(treewide): UpdateBenedikt Peetz2025-06-15
|
* fix(yt/update): Correct the progress display in `--grouped` modeBenedikt Peetz2025-06-15
|
* docs(yt/watch/playlist_handler/client_messages): Add TODO about `current_exe`Benedikt Peetz2025-06-15
|
* docs(yt_dlp): Fix typo in `Cargo.toml`'s descriptionBenedikt Peetz2025-06-15
|
* fix(yt_dlp): Avoid writing the json output to diskBenedikt Peetz2025-06-15
| | | | | There is no point in doing this anymore, as we no longer need to deserialize it.
* fix(yt/update/video_entry_to_video): Cast the json objectsBenedikt Peetz2025-06-15
| | | | | Otherwise, we might encounter very weird behaviour if yt_dlp ever changes the types of these keys.
* feat(yt/update): Print a nice progress numberBenedikt Peetz2025-06-15
| | | | | | | This number obviously does not actually mean that we have finished updating (as it is incremented on staring). But it still provides some feedback, on how long the update will probably take.
* feat(yt/update): Support grouped updatesBenedikt Peetz2025-06-15
| | | | | | | | | | Rustpython currently does not use a garbage collector. Thus, every cyclic reference between Python objects results in a memory leak of these objects (as Rustpython uses (A)RCs). The only real way to workaround the memory leaks, is by restarting the whole process, and this `--grouped` flag seems to be the best solution for that.
* perf(yt/update/updater): Acknowledge, that `yt_dlp` has a sync APIBenedikt Peetz2025-06-15
| | | | | | | | | | | | | | | The previous code was written with the assumption, that `yt_dlp` had an async API (which means, that calls to it should never block). Unfortunately, the API is sync and all calls into it block. Therefore, all the parallelism in the previous code accounted for nothing; The actual update ran completely sequentially. The new version uses a local thread pool to avoid blocking the tokio runtime and as such achieves higher speed. Unfortunately, because the rustpython implementation is way slower than cpython, the whole update takes longer. But that is a problem for another day.
* feat(yt/select): Support a directory selection processBenedikt Peetz2025-06-15
| | | | The single file approach becomes unwieldy once one has more open videos.
* refactor(yt/select): Split the `select::select` function upBenedikt Peetz2025-06-15
|
* feat(yt/update): Specify subscriptions to update as positional argsBenedikt Peetz2025-06-14
| | | | | Having the `-s/--subscription` flag is pointless, as there are no other flags that could make a positional arg ambiguous.
* feat({yt/update,yt_dlp}): Use yt_dlp errors againBenedikt Peetz2025-06-14
| | | | | This code was temporarily commented out, as I had not migrated it in the pyo3 -> rustpython migration.
* docs(yt/update): Add comment about the `unsmuggle_url` invocationBenedikt Peetz2025-06-14
|
* fix(yt/update): Avoid printing all the subscriptions that are not updatedBenedikt Peetz2025-06-14
| | | | This is just too much noise.
* fix(yt/select/selection_file/duration): Improve the duration parserBenedikt Peetz2025-06-14
| | | | | | | | The previous parser was very brittle, it failed for (valid) outputs like `1d 10h 30m` (as it only expected two number unit pairs). On top of that, extending it was failure prone (as proven by the roundtrip failure in combination with the `d` unit).
* fix(yt/version): Use yt_dlp's native python version implyBenedikt Peetz2025-06-13
| | | | This is just cleaner, compared to running `yt-dlp --version` as command.
* build(treewide): UpdateBenedikt Peetz2025-06-13
|
* build(flake): Document for what the `CLANG_*` env vars are neededBenedikt Peetz2025-06-13
|
* build(flake): Remove `flake-utils`Benedikt Peetz2025-06-13
| | | | This library serves no real purpose, and now started failing to updated.
* refactor(yt): Move to `crates/yt`Benedikt Peetz2025-06-13
| | | | Having one crate outside the `crates` directory is just weird.
* build(flake): Switch to `nixpkgs-unstable-small`Benedikt Peetz2025-06-13
| | | | | Small is updated faster, and we need quick updates as `yt_dlp` needs to be always up-to-date so that it actually works with YouTube.
* build(flake): Adapt the dev env to yt_dlp's new dependenciesBenedikt Peetz2025-06-13
|
* fix(yt/subscribe): Deal with moved url valueBenedikt Peetz2025-06-13
|
* fix(yt/downloader/progress_hook): Silence clippy warningsBenedikt Peetz2025-06-13
|
* refactor(yt): Consolidate the multiple ANSI escape code wrapper functionsBenedikt Peetz2025-06-13
|