Renamed lib to cli-lib

pull/855/head
Haider Ali 3 years ago
parent 1352725860
commit f98ecc1002

@ -7,7 +7,7 @@ edition = "2021"
[lib] [lib]
name = "reddit_bot_cli" name = "reddit_bot_cli"
path = "src/lib/mod.rs" path = "src/cli-lib/mod.rs"
[dependencies] [dependencies]
clap = "3.2.8" clap = "3.2.8"

@ -0,0 +1,16 @@
use crate::error::Error;
use std::process::Command;
use execute::Execute;
pub fn create_video() -> Result<(), Error> {
let mut command = Command::new("python");
command.arg("main.py");
match command.execute_output() {
Ok(o) => {
println!("{}", String::from_utf8(o.stdout).unwrap())
},
Err(e) => {
return Err(Error::ScriptError(e.to_string()))
}
}
Ok(())
}

@ -0,0 +1,16 @@
use clap::Error as ClapError;
#[derive(thiserror::Error, Debug)]
pub enum Error {
#[error("There is an error with the cli: {0}")]
CliError(#[from] ClapError),
#[error("Error while running the script: {0}")]
ScriptError(String),
#[error("Standard Input/Ouput error: {0}")]
IoError(#[from] std::io::Error)
}

@ -0,0 +1,31 @@
use clap::Command;
use commands::create_video;
use error::Error;
pub mod commands;
pub mod error;
pub struct Cli;
impl Cli {
pub fn start() -> Result<(), Error> {
let app = Command::new("reddit-video-maker")
.about("Create Reddit Videos with \u{2728} one command \u{2728}")
.subcommand(
Command::new("create").about("Start the process of creating the video")
);
let matches = app.clone().get_matches();
match matches.subcommand() {
Some(("create", _)) => {
create_video()?;
},
Some(_) => {
app.clone().print_help()?;
}
None => {
app.clone().print_help()?;
}
}
Ok(())
}
}
Loading…
Cancel
Save