diff --git a/labadoor-csv/src/lib.rs b/labadoor-csv/src/lib.rs index 45826c1..40c4814 100644 --- a/labadoor-csv/src/lib.rs +++ b/labadoor-csv/src/lib.rs @@ -62,7 +62,7 @@ fn auth_user(username: String, resource: String) -> Result<(), ()> { return ret; } -fn main() { +pub fn main() { let args: Vec = std::env::args().collect(); let method = String::from(&args[1]); let identifier = String::from(&args[2]); diff --git a/labadoor-gpio/src/lib.rs b/labadoor-gpio/src/lib.rs index e189f03..943f2ce 100644 --- a/labadoor-gpio/src/lib.rs +++ b/labadoor-gpio/src/lib.rs @@ -1,6 +1,6 @@ use gpio_cdev::{Chip, LineRequestFlags}; -fn main() { +pub fn main() { let mut chip = Chip::new("/dev/gpiochip0").unwrap(); let handle = chip .get_line(6) diff --git a/labadoor-matrix/src/lib.rs b/labadoor-matrix/src/lib.rs index 2e47f8f..03d33ab 100644 --- a/labadoor-matrix/src/lib.rs +++ b/labadoor-matrix/src/lib.rs @@ -30,7 +30,7 @@ async fn on_room_message(event: SyncMessageEvent, room: Roo } #[tokio::main] -async fn main() -> Result<()> { +pub async fn main() -> Result<()> { let username = std::env::var("LABADOOR_MATRIX_USERNAME").expect("LABADOOR_MATRIX_USERNAME not set"); let password = std::env::var("LABADOOR_MATRIX_PASSWORD").expect("LABADOOR_MATRIX_PASSWORD not set"); diff --git a/labadoor-telegram/src/lib.rs b/labadoor-telegram/src/lib.rs index 06cf601..59e66ad 100644 --- a/labadoor-telegram/src/lib.rs +++ b/labadoor-telegram/src/lib.rs @@ -43,7 +43,7 @@ async fn answer( } #[tokio::main] -async fn main() { +pub async fn main() { teloxide::enable_logging!(); log::info!("Starting labadoor Telegram bot..."); let token = std::env::var("TELEGRAM_TOKEN").expect("TELEGRAM_TOKEN not set"); diff --git a/labadoor/Cargo.toml b/labadoor/Cargo.toml new file mode 100644 index 0000000..57a715e --- /dev/null +++ b/labadoor/Cargo.toml @@ -0,0 +1,11 @@ +[package] +name = "labadoor" +version = "0.1.0" +edition = "2021" + +[dependencies] +clap = { version = "4.3.10", features = ["derive"] } +labadoor-telegram = { path = "../labadoor-telegram" } +labadoor-matrix = { path = "../labadoor-matrix" } +labadoor-csv = { path = "../labadoor-csv" } +labadoor-gpio = { path = "../labadoor-gpio" } diff --git a/labadoor/src/main.rs b/labadoor/src/main.rs new file mode 100644 index 0000000..b1a313f --- /dev/null +++ b/labadoor/src/main.rs @@ -0,0 +1,33 @@ +use clap::Parser; + +#[derive(Parser, Debug)] +struct Cli { + #[command(subcommand)] + command: Command, +} + +#[derive(Parser, Debug)] +enum Command { + Telegram, + Matrix, + CSV, + GPIO, +} + +fn main() { + let cli = Cli::parse(); + match &cli.command { + Command::Telegram => { + labadoor_telegram::main(); + } + Command::Matrix => { + labadoor_matrix::main(); + } + Command::CSV => { + labadoor_csv::main(); + } + Command::GPIO => { + labadoor_gpio::main(); + } + } +}