2024-04-16 12:02:51 +02:00
|
|
|
use crate::api;
|
2024-01-23 11:52:28 +01:00
|
|
|
use crate::asciicast;
|
2023-12-27 23:14:24 +01:00
|
|
|
use crate::config::Config;
|
2024-04-16 12:02:51 +02:00
|
|
|
use anyhow::Result;
|
2023-12-22 11:45:50 +01:00
|
|
|
use clap::Args;
|
2023-12-21 16:23:40 +01:00
|
|
|
|
2023-12-22 11:45:50 +01:00
|
|
|
#[derive(Debug, Args)]
|
|
|
|
|
pub struct Cli {
|
|
|
|
|
/// Filename/path of asciicast to upload
|
|
|
|
|
filename: String,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
impl Cli {
|
2023-12-27 23:14:24 +01:00
|
|
|
pub fn run(self, config: &Config) -> Result<()> {
|
2024-01-20 22:49:33 +01:00
|
|
|
let _ = asciicast::open_from_path(&self.filename)?;
|
2024-04-16 12:02:51 +02:00
|
|
|
let response = api::upload_asciicast(&self.filename, config)?;
|
|
|
|
|
println!("{}", response.message.unwrap_or(response.url));
|
2023-12-21 16:23:40 +01:00
|
|
|
|
2023-12-22 11:45:50 +01:00
|
|
|
Ok(())
|
|
|
|
|
}
|
2023-12-23 22:26:39 +01:00
|
|
|
}
|