diff options
author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2024-08-24 11:28:45 +0200 |
---|---|---|
committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2024-08-24 11:45:28 +0200 |
commit | 55e8da54a85c817bc6f71a9af43a7f6d813a67b3 (patch) | |
tree | 870dea01a562ec3709fd190aa616062705cdb079 | |
parent | fix(config): Check for wrong keys in the config file (diff) | |
download | yt-55e8da54a85c817bc6f71a9af43a7f6d813a67b3.tar.gz yt-55e8da54a85c817bc6f71a9af43a7f6d813a67b3.zip |
feat(cli/config): Show the currently active configuration
-rw-r--r-- | src/cli.rs | 3 | ||||
-rw-r--r-- | src/config/mod.rs | 7 | ||||
-rw-r--r-- | src/main.rs | 1 | ||||
-rw-r--r-- | src/status/mod.rs | 8 |
4 files changed, 19 insertions, 0 deletions
diff --git a/src/cli.rs b/src/cli.rs index 3b13bdf..fe89bf7 100644 --- a/src/cli.rs +++ b/src/cli.rs @@ -73,6 +73,9 @@ pub enum Command { /// Show, which videos have been selected to be watched (and their cache status) Status {}, + /// Show, the configuration options in effect + Config {}, + /// Perform various tests Check { #[command(subcommand)] diff --git a/src/config/mod.rs b/src/config/mod.rs index 3d0d0b5..ea40055 100644 --- a/src/config/mod.rs +++ b/src/config/mod.rs @@ -11,11 +11,13 @@ use std::path::PathBuf; use bytes::Bytes; +use serde::Serialize; mod default; mod definitions; pub mod file_system; +#[derive(Serialize)] pub struct Config { pub select: SelectConfig, pub watch: WatchConfig, @@ -23,19 +25,24 @@ pub struct Config { pub download: DownloadConfig, pub update: UpdateConfig, } +#[derive(Serialize)] pub struct UpdateConfig { pub max_backlog: u32, } +#[derive(Serialize)] pub struct DownloadConfig { pub max_cache_size: Bytes, } +#[derive(Serialize)] pub struct SelectConfig { pub playback_speed: f64, pub subtitle_langs: String, } +#[derive(Serialize)] pub struct WatchConfig { pub local_comments_length: usize, } +#[derive(Serialize)] pub struct PathsConfig { pub download_dir: PathBuf, pub mpv_config_path: PathBuf, diff --git a/src/main.rs b/src/main.rs index 57e711d..2bd7571 100644 --- a/src/main.rs +++ b/src/main.rs @@ -174,6 +174,7 @@ async fn main() -> Result<()> { Command::Watch {} => watch::watch(&app).await?, Command::Status {} => status::show(&app).await?, + Command::Config {} => status::config(&app)?, Command::Database { command } => match command { CacheCommand::Invalidate { hard } => cache::invalidate(&app, hard).await?, diff --git a/src/status/mod.rs b/src/status/mod.rs index 662a391..688ac9a 100644 --- a/src/status/mod.rs +++ b/src/status/mod.rs @@ -97,3 +97,11 @@ Dropped Videos: {dropped_videos_len} ({dropped_videos_changing} changing) Ok(()) } + +pub fn config(app: &App) -> Result<()> { + let config_str = toml::to_string(&app.config)?; + + print!("{}", config_str); + + Ok(()) +} |