aboutsummaryrefslogtreecommitdiffstats
path: root/crates (unfollow)
Commit message (Collapse)Author
2025-06-13refactor(yt): Move to `crates/yt`Benedikt Peetz
Having one crate outside the `crates` directory is just weird.
2025-06-13feat({yt_dlp,yt}): Migrate from pyo3 to rustpythonBenedikt Peetz
That allows us to avoid cpython's GIL and gives us full ability to leverage async/concurrent code to speed up python operations. I have also taken the opportunity to change the `InfoJson` struct to an untyped json value, as that is what it actually is.
2025-03-21chore(yt_dlp/wrappers/info_json): Add additional missing fieldBenedikt Peetz
2025-03-21refactor(yt_dlp): Remove the unneeded `async` from the public functionsBenedikt Peetz
2025-03-21chore(treewide): Migrate to rust edition 2024Benedikt Peetz
Even though the diff in the libmpv2 crate is quite big, it really only added `unsafe` blocks to the `unsafe` functions.
2025-03-21build(treewide): UpdateBenedikt Peetz
2025-02-22chore(treewide): Add/Update the license headersBenedikt Peetz
2025-02-21fix(crates/libmpv2/mpv): Log the setting of propertiesBenedikt Peetz
2025-02-21chore(crates/yt_dlp/wrappers/info_json): Add further fieldsBenedikt Peetz
2025-02-21chore(crates/libmpv2): Make `cargo clippy` happyBenedikt Peetz
2025-02-16style(treewide): Re-formatBenedikt Peetz
2025-02-16build(rustfmt.toml): AddBenedikt Peetz
2025-02-16fix(crates/termsize): Remove all of `clippy`'s warningsBenedikt Peetz
2025-02-16refactor(crates/fmt): Init forked `uu_fmt` libraryBenedikt Peetz
2025-02-16chore(crates/termsize): VendorBenedikt Peetz
2025-02-16fix(crates/yt_dlp/wrappers/info_json): Serialize the `InfoType`s with their ↵Benedikt Peetz
correct name
2025-02-16fix(crates/yt_dlp/wrappers/info_json): Don't serialize `None` valuesBenedikt Peetz
This keeps the jsons, which we internally parse, shorter.
2025-02-16feat(crates/yt_dlp/lib): Wrap `process_ie_result` functionBenedikt Peetz
2025-02-16fix(crates/yt_dlp/lib): Actually resolve the `entries` generator objectBenedikt Peetz
Previously, we just ignored it.
2025-02-16fix(crates/yt_dlp/lib): Swallow all error logs from yt_dlpBenedikt Peetz
These are already returned as `PythonError`s and thus often printed twice. As such, removing the python print gives the consumer more liberty of how to handle the error.
2025-02-16fix(crates/yt_dlp/progress_hook): Print the progress to stderrBenedikt Peetz
2025-02-16fix(crates/yt_dlp/error::PythonError): Add the python type as `kind`Benedikt Peetz
2025-02-14fix(crates/libmpv2/Mpv::command): Correctly escape argumentsBenedikt Peetz
This allows us to avoid all these ad-hoc command escaping `format!` invocations.
2025-02-14chore(crates/yt_dlp/wrappers/info_json): Add further fieldsBenedikt Peetz
2025-02-14test(crates/yt_dlp): Ignore tests that hang foreverBenedikt Peetz
2025-02-14fix(crates/yt_dlp): Actually return errors instead of panicingBenedikt Peetz
2025-02-14fix(crates/yt_dlp): Avoid printing the file extension in the progress displayBenedikt Peetz
The file extension should not be relevant for a user.
2025-02-14fix(crates/libmpv2): Improve the error message for the `RawError`Benedikt Peetz
Additionally, this commits migrates the error away from `thiserror`, simply because the crate is not needed at this scale.
2025-02-14build(treewide): UpdateBenedikt Peetz
2024-12-14fix(yt_dlp/wrappers/info_json): Add further fields to `RequestedDownloads`Benedikt Peetz
2024-12-14build(treewide): UpdateBenedikt Peetz
2024-12-14fix(yt_dlp/wrappers/info_json): Add missing fields to `Subtitle`Benedikt Peetz
2024-12-14fix(yt_dlp/wrappers/info_json): Treat `Extractor` and `ExtractorKey` as StringsBenedikt Peetz
There are too many possible extractors to mandate hard-coding them in a enumeration.
2024-11-16build(treewide): Update dependenciesBenedikt Peetz
2024-11-04build(treewide): UpdateBenedikt Peetz
2024-11-04fix(yt_dlp/progress_hook): Mark estimates as suchBenedikt Peetz
Currently, the wildly changing estimate numbers are not differentiated from the valid numbers.
2024-11-04fix(yt/download): Only print changed bytes sizes, on changed stringBenedikt Peetz
2_000_000_000 and 2_000_000_001 cache sizes are not the same, but will both print out "1.86 GiB". Obviously, notifying the user about this change is rather counter-productive.
2024-10-29style(treewide): FormatBenedikt Peetz
2024-10-29chore(yt_dlp/wrapper/info_json): Add further structure fieldsBenedikt Peetz
2024-10-29fix(yt_dlp/lib/progress_hook): Avoid overriding previous messagesBenedikt Peetz
Otherwise, the hook would simply cancel the already printed line.
2024-10-19fix(yt_dlp/lib/progress_hook): Estimate `total_byte_size` betterBenedikt Peetz
This still is sort of weird, because the total byte size changes whilst downloading, but it is still immensely better than just putting a `0` there.
2024-10-14refactor(libmpv2): Include in the workspaceBenedikt Peetz
2024-10-14test(treewide): Fix, so they compile and ignoreBenedikt Peetz
The tests are just not in an ideal state right now. Running them via `cargo test` still works, but the `yt_dlp` test simply seem to deadlock?
2024-10-14refactor(treewide): Conform to the clippy and rust lintsBenedikt Peetz
2024-10-14refactor(treewide): Combine the separate crates in one workspaceBenedikt Peetz
2024-10-07fix(crates/yt_dlp/wrappers/info_json): Add further info.json fieldsBenedikt Peetz
2024-10-07feat(crates/yt_dlp): Make saving the downloaded info.json configurableBenedikt Peetz
This avoids having to recompile the application to save the downloaded info.json, and simply requires setting an environment variable.
2024-10-07build(crates/libmpv2/update.sh): Correctly specify child update pathsBenedikt Peetz
2024-09-11build(treewide): UpdateBenedikt Peetz
2024-08-25style(treewide): ReformatBenedikt Peetz