transmission-rpc/examples/free-space.rs
Aleksandr Bochev 1b017f6381 fixed imports
2022-10-02 11:46:26 +02:00

28 lines
819 B
Rust

extern crate transmission_rpc;
use dotenvy::dotenv;
use std::env;
use transmission_rpc::types::{BasicAuth, FreeSpace, Result, RpcResponse};
use transmission_rpc::TransClient;
#[tokio::main]
async fn main() -> Result<()> {
dotenv().ok();
env_logger::init();
let url = env::var("TURL")?;
let dir = env::var("TDIR")?;
let mut client;
if let (Ok(user), Ok(password)) = (env::var("TUSER"), env::var("TPWD")) {
client = TransClient::with_auth(&url, BasicAuth { user, password });
} else {
client = TransClient::new(&url);
}
let response: Result<RpcResponse<FreeSpace>> = client.free_space(dir).await;
match response {
Ok(_) => println!("Yay!"),
Err(_) => panic!("Oh no!"),
}
println!("Rpc response is ok: {}", response?.is_ok());
Ok(())
}