Commit message (Collapse) | Author | ||
---|---|---|---|
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 | |
selection file | |||
2024-08-23 | feat(cli): Add an explicit `subs export` subcommand | Benedikt Peetz | |
This subcommand is functionally identical with the previous `subs list --url`, but semantically it improves the situation, by having symmetrical `import` and `export` subcommands. | |||
2024-08-22 | fix(storage/schema.sql): Tell SQLite to perform type-checking | Benedikt Peetz | |
Otherwise, SQLite tries to “coerce” types into fitting in the “preferred” type of the table. Now SQLite actually refuses to accept a type mismatch. | |||
2024-08-22 | refactor(storage/getters): Inline an Option re-creation with `map` | Benedikt Peetz | |
2024-08-22 | fix(storage/setters): Avoid writing a literal "NULL" string into the db | Benedikt Peetz | |
Sqlx supports turning an option to a NULL insertion, but trying to insert a string, containing "NULL", will result in this literal string being written to the database. | |||
2024-08-22 | refactor(storage): Make all URL parsings panic | Benedikt Peetz | |
These URLs should be checked *before* they are written to the database, thus being unable to decode them after they've been read from the database is an application bug and not a user input issue. | |||
2024-08-22 | refactor(cli): Remove the useless `concurrent_processes` flag from `update` | Benedikt Peetz | |
With the new `update_raw.py` script, supporting this flag becomes nearly impossible. Thus, we're simply removing it. | |||
2024-08-22 | fix(update): Propagate the logging options to the `update_raw.py` script | Benedikt Peetz | |
2024-08-22 | fix(package): Actually provide the blake3 library to the python interpreter | Benedikt Peetz | |
2024-08-22 | chore(version): v1.0.0 v1.0.0 | Benedikt Peetz | |
2024-08-22 | chore(treewide): Add missing license | Benedikt Peetz | |
2024-08-22 | fix(yt_dlp/info_json): Add further missing fields | Benedikt Peetz | |
2024-08-22 | fix(watch/events): Also mark a video inactive on the stop event | Benedikt Peetz | |
2024-08-22 | fix(constants): Don't set a default subtile language | Benedikt Peetz | |
Always fetching a subtitle file is rather counterproductive. | |||
2024-08-22 | fix(update): Correctly treat a success as a success | Benedikt Peetz | |
2024-08-22 | fix(subscriptions/add): Ignore the trailing slash on URLs | Benedikt Peetz | |
2024-08-22 | fix(storage/get_videos): Also order by `publish_date` | Benedikt Peetz | |
All freshly added videos have a priority of 0. To ensure that they are still ordered, also sort by `publish_date`. | |||
2024-08-22 | feat(select/file): Allow `--priority` argument to all functions | Benedikt Peetz | |
This allows setting a priority even on picked videos. | |||
2024-08-22 | feat(download): Support limiting the downloader by maximal cache size | Benedikt Peetz | |
2024-08-22 | test(benches/update): Init | Benedikt Peetz | |
2024-08-22 | perf(raw_update.py)!: Don't fetch entries that are already in the database | Benedikt Peetz | |
Testing has resulted in a speed-up of circa 3400% (updates of 1 subscription (which is already fully stored) are now ca. 1 sec from previously 34 sec). BREAKING CHANGE: The extractor hash is now calculated from the `id` and not the `webpage_url` field requiring a complete re-fetch of all stored videos. ```bash $# export your subscriptions: $ yt subs list --urls > subs.txt $# remove the old database $ mv ~/.local/share/yt/videos.sqlite{,.old} $# reimport the subsciptions $ yt subs import subs.txt $# refetch all videos $ yt upadate ``` | |||
2024-08-22 | build(package): Include python `blake3` dependency | Benedikt Peetz | |
2024-08-21 | chore(version): v0.1.3 v0.1.3 | Benedikt Peetz | |
2024-08-21 | fix(yt_dlp/info_json): Add another missing attribute | Benedikt Peetz | |
2024-08-21 | chore(version): v0.1.2 v0.1.2 | Benedikt Peetz | |
2024-08-21 |