diff options
author | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2024-05-20 16:10:21 +0200 |
---|---|---|
committer | Benedikt Peetz <benedikt.peetz@b-peetz.de> | 2024-05-20 16:14:26 +0200 |
commit | 368cb6b0d25db2ae23be42ad51584de059997e51 (patch) | |
tree | 3282e45d3ebced63c8498a47e83a255c35de620b /pkgs/sources/yt/src/constants.rs | |
parent | refactor(hm): Rename to `modules/home` (diff) | |
download | nixos-config-368cb6b0d25db2ae23be42ad51584de059997e51.tar.gz nixos-config-368cb6b0d25db2ae23be42ad51584de059997e51.zip |
refactor(sys): Modularize and move to `modules/system` or `pkgs`
Diffstat (limited to 'pkgs/sources/yt/src/constants.rs')
-rw-r--r-- | pkgs/sources/yt/src/constants.rs | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/pkgs/sources/yt/src/constants.rs b/pkgs/sources/yt/src/constants.rs new file mode 100644 index 00000000..5e233656 --- /dev/null +++ b/pkgs/sources/yt/src/constants.rs @@ -0,0 +1,51 @@ +use std::{env, fs, path::PathBuf}; + +pub const HELP_STR: &str = include_str!("./help.str"); + +pub const YT_DLP_FLAGS: [&str; 13] = [ + // Ignore errors arising of unavailable sponsor block API + "--ignore-errors", + "--format", + "bestvideo[height<=?1080]+bestaudio/best", + "--embed-chapters", + "--progress", + "--write-comments", + "--extractor-args", + "youtube:max_comments=150,all,100;comment_sort=top", + "--write-info-json", + "--sponsorblock-mark", + "default", + "--sponsorblock-remove", + "sponsor", +]; +pub const MPV_FLAGS: [&str; 4] = [ + "--speed=2.7", + "--volume=75", + "--keep-open=yes", + "--msg-level=osd/libass=fatal", +]; + +pub const CONCURRENT: u32 = 5; + +pub const DOWNLOAD_DIR: &str = "/tmp/ytcc"; + +fn get_runtime_path(component: &'static str) -> anyhow::Result<PathBuf> { + let out: PathBuf = format!( + "{}/{}", + env::var("XDG_RUNTIME_DIR").expect("This should always exist"), + component + ) + .into(); + fs::create_dir_all(out.parent().expect("Parent should exist"))?; + Ok(out) +} + +const STATUS_PATH: &str = "ytcc/running"; +pub fn status_path() -> anyhow::Result<PathBuf> { + get_runtime_path(STATUS_PATH) +} + +const LAST_SELECT: &str = "ytcc/selected.yts"; +pub fn last_select() -> anyhow::Result<PathBuf> { + get_runtime_path(LAST_SELECT) +} |