about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAge
* fix(yt_dlp/post_processors/dearrow): Don't try to access the drained vecBenedikt Peetz2 days
| | | | | | If all titles were declared “bad” the pp previously tried to access the first title in the array, which was already drained. We now simply clone the array to facilitate this usage.
* feat(yt/version): Add the (rust)python version againBenedikt Peetz2 days
|
* fix(yt/update/grouped): Don't drop the verbosity levelBenedikt Peetz2 days
| | | | Otherwise, the sub-processes run with the default verbosity level.
* feat(yt/cli): Also add completion for subscription namesBenedikt Peetz2 days
|
* chore(version): v1.6.1 v1.6.1Benedikt Peetz9 days
|
* build(flake): Teach the flake about the new package.nix locationBenedikt Peetz9 days
|
* chore(treewide): Assure that `nix fmt` and `reuse lint` are happyBenedikt Peetz9 days
|
* build({Cargo,flake}.lock): UpdateBenedikt Peetz9 days
|
* refactor(nix/package): Avoid the duplicated `package` nameBenedikt Peetz9 days
|
* fix(package): Set the PYTHONPATH ourselvesBenedikt Peetz9 days
| | | | | The propagation mechanism seems to be python exclusive and not something that works inside the `buildRustPackage` function.
* refactor(yt_dlp): Split the big `lib.rs` file upBenedikt Peetz9 days
|
* refactor(yt_dlp/progress_hook): Use public api via `__priv` moduleBenedikt Peetz9 days
| | | | | That makes it clear that these parts are only exposed to facilitate macro use and not as part of the public API.
* fix(yt_dlp/post_processing/dearrow): Correctly type the `CasualVote` fieldBenedikt Peetz9 days
|
* refactor(yt_dlp/logging): Avoid adding to the `__all__` listBenedikt Peetz9 days
| | | | | This seems to have no apparent effect on anything. As such I went ahead and removed this dead code.
* fix(yt_dlp): Typos in stringsBenedikt Peetz9 days
|
* fix(yt_dlp/post_processors): Register in pythonBenedikt Peetz9 days
| | | | | | | | | | | We need to tell yt_dlp about our post processors, as they would otherwise not take full effect. For example, changing the title would previously only have changed the title in the *in-memory* info json, the actual file on disk (video and .info.json) would still have the old title, as yt_dlp did not know about our post processor. Registering it via their api also has the upside of being able to determine when to run.
* fix(yt_dlp/post_processors/dearrow): Migrate to curl for api requestsBenedikt Peetz9 days
| | | | | | The reqwest crate will panic if it is blockingly run inside another executor. But we cannot make this function async, as the whole api is forced to be sync by python ffi.
* fix(yt_dlp/): Include the frozen python stdlibBenedikt Peetz10 days
| | | | | This avoids the dependency on a real std-library (i.e., python3) at runtime.
* chore(version): v1.6.0 v1.6.0Benedikt Peetz10 days
|
* build(cog.toml): Use the correct remote urlBenedikt Peetz10 days
|
* build(cog.toml): Use correct usernameBenedikt Peetz10 days
|
* style(treewide): ReformatBenedikt Peetz10 days
|
* chore(treewide): Add missing copyright headersBenedikt Peetz10 days
|
* style(yt/select): Apply clippy's suggestionsBenedikt Peetz10 days
|
* fix(yt/update): Also handle the newly introduced error conditionsBenedikt Peetz10 days
|
* feat(yt_dlp): Support a DeArrow post processorBenedikt Peetz10 days
|
* refactor(yt_dlp/lib): De-duplicate the info json sanitize codeBenedikt Peetz10 days
|
* refactor(yt_dlp/lib): Explicitly convert python exceptions into an errorBenedikt Peetz10 days
| | | | This avoids having to wrap all blocks into a `match` statement.
* build(.envrc): Also disable ytdlp plugins by defaultBenedikt Peetz10 days
|
* build(package/package.nix): Update to the new build requirementsBenedikt Peetz10 days
|
* build({flake,Cargo}.lock): UpdateBenedikt Peetz10 days
|
* fix(scripts/mkdb.sh): Also use the `$DATABASE_URL` variable as source sourceBenedikt Peetz10 days
| | | | This avoids having to specify the db location twice.
* refactor(yt/select/selection_file): Migrate from `trinitry` to `shlex`Benedikt Peetz10 days
| | | | shlex is better maintained, and _actually_ meant for this purpose .
* test(yt/cli): Test the CLIBenedikt Peetz10 days
|
* fix(libmpv2-sys): Avoid generating comments, that confuse rustdocBenedikt Peetz10 days
|
* fix(yt/cli): Remove duplicated short flag key (help also uses 'h')Benedikt Peetz10 days
|
* feat(yt/cli): Add support for command line completionsBenedikt Peetz10 days
|
* build(.envrc): Remove outdated env variablesBenedikt Peetz10 days
|
* feat(yt/select/split): Make sorting configurableBenedikt Peetz10 days
| | | | | 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 Peetz10 days
| | | | | | 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 Peetz11 days
|
* fix(yt_dlp/json_{cast,get}): Improve error reportingBenedikt Peetz11 days
|
* build(treewide): UpdateBenedikt Peetz11 days
|
* fix(yt/update): Correct the progress display in `--grouped` modeBenedikt Peetz11 days
|
* docs(yt/watch/playlist_handler/client_messages): Add TODO about `current_exe`Benedikt Peetz11 days
|
* docs(yt_dlp): Fix typo in `Cargo.toml`'s descriptionBenedikt Peetz11 days
|
* fix(yt_dlp): Avoid writing the json output to diskBenedikt Peetz11 days
| | | | | 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 Peetz11 days
| | | | | 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 Peetz11 days
| | | | | | | 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 Peetz11 days
| | | | | | | | | | 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.