Collect full CLI interface in cli module

This commit is contained in:
Marcin Kulik
2024-04-29 16:44:18 +02:00
parent bc8c4012ef
commit b692339d50
11 changed files with 303 additions and 297 deletions

View File

@@ -1,17 +1,12 @@
use super::Command;
use crate::api;
use crate::asciicast;
use crate::cli;
use crate::config::Config;
use anyhow::Result;
use clap::Args;
#[derive(Debug, Args)]
pub struct Cli {
/// Filename/path of asciicast to upload
filename: String,
}
impl Cli {
pub fn run(self, config: &Config) -> Result<()> {
impl Command for cli::Upload {
fn run(self, config: &Config) -> Result<()> {
let _ = asciicast::open_from_path(&self.filename)?;
let response = api::upload_asciicast(&self.filename, config)?;
println!("{}", response.message.unwrap_or(response.url));