Create labadoor binary crate calling each librarie's main()

This commit is contained in:
George Kaklamanos 2023-06-30 17:12:24 +03:00
parent 3abf7106fc
commit ed628b2ee3
6 changed files with 48 additions and 4 deletions

View file

@ -62,7 +62,7 @@ fn auth_user(username: String, resource: String) -> Result<(), ()> {
return ret;
}
fn main() {
pub fn main() {
let args: Vec<String> = std::env::args().collect();
let method = String::from(&args[1]);
let identifier = String::from(&args[2]);

View file

@ -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)

View file

@ -30,7 +30,7 @@ async fn on_room_message(event: SyncMessageEvent<MessageEventContent>, 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");

View file

@ -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");

11
labadoor/Cargo.toml Normal file
View file

@ -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" }

33
labadoor/src/main.rs Normal file
View file

@ -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();
}
}
}