diff options
author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2025-06-16 13:58:55 +0200 |
---|---|---|
committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2025-06-16 13:58:55 +0200 |
commit | ab61a4e47a955dd4a5dabeef3ade1b85f6576b84 (patch) | |
tree | 4076a7f96ef2a6b6b359eff83bb9b8c8357a03e5 /crates/yt_dlp/src/post_processors/mod.rs | |
parent | refactor(yt_dlp/lib): De-duplicate the info json sanitize code (diff) | |
download | yt-ab61a4e47a955dd4a5dabeef3ade1b85f6576b84.zip |
feat(yt_dlp): Support a DeArrow post processor
Diffstat (limited to 'crates/yt_dlp/src/post_processors/mod.rs')
-rw-r--r-- | crates/yt_dlp/src/post_processors/mod.rs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/crates/yt_dlp/src/post_processors/mod.rs b/crates/yt_dlp/src/post_processors/mod.rs new file mode 100644 index 0000000..6067c7a --- /dev/null +++ b/crates/yt_dlp/src/post_processors/mod.rs @@ -0,0 +1,20 @@ +use crate::InfoJson; + +pub mod dearrow; + +pub trait PostProcessor: std::fmt::Debug + Send { + /// Process a [`InfoJson`] object and return the updated one. + /// + /// # Errors + /// If the processing steps failed. + fn process(&self, info: InfoJson) -> Result<InfoJson, Error>; + + /// The supported extractors for this post processor + fn extractors(&self) -> &'static [&'static str]; +} + +#[derive(thiserror::Error, Debug)] +pub enum Error { + #[error("Failed to access a api: {0}")] + Get(#[from] reqwest::Error), +} |