about summary refs log tree commit diff stats
path: root/pkgs/sources/yt/src/bin/yts/main.rs
diff options
context:
space:
mode:
authorBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-05-23 13:26:22 +0200
committerBenedikt Peetz <benedikt.peetz@b-peetz.de>2024-05-23 13:26:22 +0200
commit204731c0a69136c9cebcb54f1afecf5145e26bbe (patch)
treefc9132e5dc74e4a8e1327cdd411839a90f9410aa /pkgs/sources/yt/src/bin/yts/main.rs
parentrefactor(sys): Modularize and move to `modules/system` or `pkgs` (diff)
downloadnixos-config-204731c0a69136c9cebcb54f1afecf5145e26bbe.tar.gz
nixos-config-204731c0a69136c9cebcb54f1afecf5145e26bbe.zip
refactor(pkgs): Categorize into `by-name` shards
This might not be the perfect way to organize a package set --
especially if the set is not nearly the size of nixpkgs -- but it is
_at_ least a way of organization.
Diffstat (limited to 'pkgs/sources/yt/src/bin/yts/main.rs')
-rw-r--r--pkgs/sources/yt/src/bin/yts/main.rs91
1 files changed, 0 insertions, 91 deletions
diff --git a/pkgs/sources/yt/src/bin/yts/main.rs b/pkgs/sources/yt/src/bin/yts/main.rs
deleted file mode 100644
index 7398db61..00000000
--- a/pkgs/sources/yt/src/bin/yts/main.rs
+++ /dev/null
@@ -1,91 +0,0 @@
-use anyhow::{bail, Context, Result};
-use clap::Parser;
-use std::{
-    env,
-    io::{BufRead, BufReader, Write},
-    process::Command as StdCmd,
-};
-use tempfile::NamedTempFile;
-use yt::{constants::HELP_STR, filter_line, YtccListData};
-
-use crate::args::{Args, Command, OrderCommand};
-
-mod args;
-
-fn main() -> Result<()> {
-    let args = Args::parse();
-    cli_log::init_cli_log!();
-
-    let ordering = match args.subcommand.unwrap_or(Command::Order {
-        command: OrderCommand::Date {
-            desc: true,
-            asc: false,
-        },
-    }) {
-        Command::Order { command } => match command {
-            OrderCommand::Date { desc, asc } => {
-                if desc {
-                    vec!["--order-by".into(), "publish_date".into(), "desc".into()]
-                } else if asc {
-                    vec!["--order-by".into(), "publish_date".into(), "asc".into()]
-                } else {
-                    vec!["--order-by".into(), "publish_date".into(), "desc".into()]
-                }
-            }
-            OrderCommand::Raw { value } => [vec!["--order-by".into()], value].concat(),
-        },
-    };
-
-    let json_map = {
-        let mut ytcc = StdCmd::new("ytcc");
-        ytcc.args(["--output", "json", "list"]);
-        ytcc.args(ordering);
-
-        serde_json::from_slice::<Vec<YtccListData>>(
-            &ytcc.output().context("Failed to json from ytcc")?.stdout,
-        )
-        .context("Failed to deserialize json output")?
-    };
-
-    let mut edit_file = NamedTempFile::new().context("Failed to get tempfile")?;
-
-    json_map.iter().for_each(|line| {
-        let line = line.to_string();
-        edit_file
-            .write_all(line.as_bytes())
-            .expect("This write should not fail");
-    });
-
-    write!(&edit_file, "{}", HELP_STR)?;
-    edit_file.flush().context("Failed to flush edit file")?;
-
-    let read_file = edit_file.reopen()?;
-
-    let mut nvim = StdCmd::new("nvim");
-    nvim.arg(edit_file.path());
-
-    let status = nvim.status().context("Falied to run nvim")?;
-    if !status.success() {
-        bail!("Nvim exited with error status: {}", status)
-    }
-
-    let mut watching = Vec::new();
-    let reader = BufReader::new(&read_file);
-    for line in reader.lines() {
-        let line = line.context("Failed to read line")?;
-
-        if let Some(downloadable) =
-            filter_line(&line).with_context(|| format!("Failed to process line: '{}'", line))?
-        {
-            watching.push(downloadable);
-        }
-    }
-
-    let watching: String = watching
-        .iter()
-        .map(|d| d.to_string())
-        .collect::<Vec<String>>()
-        .join("\n");
-    println!("{}", &watching);
-    Ok(())
-}