Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | refactor(treewide): Combine the separate crates in one workspace | Benedikt Peetz | 2024-10-14 |
| | |||
* | feat(videos): Provide a consistent display for the `Video` struct | Benedikt Peetz | 2024-10-14 |
| | | | | | Before, `Video`s where colourized differently, just because the colourization was not standardized. It now is. | ||
* | fix(downloader): Don't display changed cache size on first run | Benedikt Peetz | 2024-10-07 |
| | | | | | | | Currently, the "Can't download video ..." message is directly followed by the "Current cache size has changed ...", when a full cache was hit before. This avoids this duplicated message, by update the cached cache size. | ||
* | feat(cli): Add a `add` command | Benedikt Peetz | 2024-10-07 |
| | | | | | | This command allows adding URLs directly. Otherwise, the process would be: `yt subs add <URL>` -> `yt update` -> `yt subs remove <URL>` | ||
* | feat(cli): Also add a `dowa` command | Benedikt Peetz | 2024-10-07 |
| | | | | | This is the same as the `sedowa` command, with the difference that the `dowa` command does not include the select part. | ||
* | fix(cli): Avoid having to interleave `sedowa` with dashes | Benedikt Peetz | 2024-10-07 |
| | | | | Otherwise the `sedowa` command would be `se-do-wa` | ||
* | style(treewide): Reformat | Benedikt Peetz | 2024-08-25 |
| | |||
* | refactor(treewide): Conform to `cargo clippy` | Benedikt Peetz | 2024-08-25 |
| | |||
* | feat(cli): Support the common select -> download -> watch workflow | Benedikt Peetz | 2024-08-25 |
| | |||
* | refactor(watch/playlist_handler): Init | Benedikt Peetz | 2024-08-25 |
| | | | | | | | This facilitates outsourcing the mpv playlist operations and overlaying them with an cache that provides the facility to convert for `playlist_entry_id`s to `ExtractorHash`es even after their corresponding video has been removed from the playlist. | ||
* | fix(storage/extractor_hash): Remove useless logs | Benedikt Peetz | 2024-08-25 |
| | |||
* | fix(select/duration): Report parse errors, as the input is user specified | Benedikt Peetz | 2024-08-25 |
| | |||
* | fix(downloader): Fallback to calculating the video size, before using ↵ | Benedikt Peetz | 2024-08-25 |
| | | | | hardcoded value | ||
* | fix(downloader): Remove useless logs | Benedikt Peetz | 2024-08-25 |
| | |||
* | fix(downloader): Be smarter, when checking for available cache | Benedikt Peetz | 2024-08-25 |
| | |||
* | docs(cache): Add context to the cache_path deletion error | Benedikt Peetz | 2024-08-25 |
| | |||
* | refactor(comments): Remove dead code | Benedikt Peetz | 2024-08-24 |
| | |||
* | refactor(watch): Don't track the playlist, use the properties of `mpv` instead | Benedikt Peetz | 2024-08-24 |
| | |||
* | feat(watch): Idle until new videos are available instead of exiting | Benedikt Peetz | 2024-08-24 |
| | |||
* | fix(storage/database): Already borrow the `VideoStatus::ALL` constant | Benedikt Peetz | 2024-08-24 |
| | |||
* | fix(download): Don't fail hard, when a video file size can't be approximated | Benedikt Peetz | 2024-08-24 |
| | |||
* | fix(select/display): Only align the status commands in color_display | Benedikt Peetz | 2024-08-24 |
| | |||
* | fix(treewide): Always display bytes in a formatted way through `Bytes` | Benedikt Peetz | 2024-08-24 |
| | |||
* | feat(cli/selectCommand/file): Allow re-use of the previous selection file | Benedikt Peetz | 2024-08-24 |
| | |||
* | fix(cli/selectCommand): Explicitly set the aliases | Benedikt Peetz | 2024-08-24 |
| | | | | | Otherwise the `w` alias for `watch` would conflict with `watched` and thus not work. | ||
* | feat(cli/config): Show the currently active configuration | Benedikt Peetz | 2024-08-24 |
| | |||
* | fix(config): Check for wrong keys in the config file | Benedikt Peetz | 2024-08-24 |
| | |||
* | feat(videos): Allow limiting the number of videos to show | Benedikt Peetz | 2024-08-24 |
| | |||
* | feat(status): Also show the cache usage | Benedikt Peetz | 2024-08-24 |
| | |||
* | feat(downloader): Display the sizes, when waiting for a cache size reduction | Benedikt Peetz | 2024-08-24 |
| | |||
* | feat(watch/handlers): Add status messages to the script handlers | Benedikt Peetz | 2024-08-24 |
| | |||
* | test(storage/setters): Assert the video status in `set_video_watched` | Benedikt Peetz | 2024-08-24 |
| | |||
* | feat(select/cmds): Add a `watched` command | Benedikt Peetz | 2024-08-24 |
| | | | | | Otherwise, running `yt select file --done` would mark all your already wached stuff to be watched again. | ||
* | feat(select/display): Also show the video hash when color displaying it | Benedikt Peetz | 2024-08-24 |
| | | | | The hash can now be used on the commandline to access video information. | ||
* | fix(select/cmds): Accept the watch flags for every command | Benedikt Peetz | 2024-08-23 |
| | | | | | This makes it easier to change the status of a video, without having to painstakingly remove the flags too. | ||
* | feat(videos): Init | Benedikt Peetz | 2024-08-23 |
| | |||
* | fix(config/from_filesystem): Only create the parent of config paths | Benedikt Peetz | 2024-08-23 |
| | | | | | Otherwise, it would create a `videos.sqlite` *directory*, which is obviously not ideal. | ||
* | fix(config/from_filesystem): Just load an empty config, if there isn't one | Benedikt Peetz | 2024-08-23 |
| | |||
* | fix(cli/verbosity): Simplify setting the default level | Benedikt Peetz | 2024-08-23 |
| | |||
* | style(treewide): Format | Benedikt Peetz | 2024-08-23 |
| | |||
* | fix(cli): Always log with a verbosity of at least WARN | Benedikt Peetz | 2024-08-23 |
| | | | | | This ensures that warnings actually reach the user. And the `--quite` flag can still be used to silence all output. | ||
* | fix(treewide): Actually use the values from the config | Benedikt Peetz | 2024-08-23 |
| | |||
* | feat(watch/events): Add further understood script-messages | Benedikt Peetz | 2024-08-23 |
| | | | | | | They make it possible to force check for new available videos and to remove the currently playing video from the playlist to free cache space (otherwise you would have to quit the whole playlist). | ||
* | fix(storage/setters): Enforce status invariants | Benedikt Peetz | 2024-08-23 |
| | |||
* | feat(treewide): Use a configuration file | Benedikt Peetz | 2024-08-23 |
| | | | | | | This allows use to avoid duplication of default values in the codebase and obviously also facilitates changing these without having to re-compile. | ||
* | refactor(cli): Replace the byte parser with the one from the `bytes` crate | Benedikt Peetz | 2024-08-23 |
| | |||
* | refactor(storage/downloader): Remove unused `get_next_video_watchable` | Benedikt Peetz | 2024-08-23 |
| | |||
* | fix(storage/downloader): Sort the next videos to be downloaded like in the ↵ | Benedikt Peetz | 2024-08-23 |
| | | | | selection file | ||
* | feat(cli): Add an explicit `subs export` subcommand | Benedikt Peetz | 2024-08-23 |
| | | | | | | This subcommand is functionally identical with the previous `subs list --url`, but semantically it improves the situation, by having symmetrical `import` and `export` subcommands. | ||
* | fix(storage/schema.sql): Tell SQLite to perform type-checking | Benedikt Peetz | 2024-08-22 |
| | | | | | | Otherwise, SQLite tries to “coerce” types into fitting in the “preferred” type of the table. Now SQLite actually refuses to accept a type mismatch. |