use structopt::StructOpt;
#[derive(Debug, StructOpt)]
#[structopt(name = "sensorcomm", about = "An example of StructOpt usage.")]
enum Command {
Batch {
#[structopt(name = "VALUE")]
value: String,
#[structopt(name = "CONTACT")]
contact: String,
},
Query {
#[structopt()]
query: String,
#[structopt()]
contact: String,
},
Sensor {
#[structopt(name = "id")]
id: u64,
#[structopt(name = "CONTACT")]
contact: String,
},
}
#[tokio::main]
async fn main() {
let command = Command::from_args();
match command {
Command::Batch { value, contact } => {
let r = sensor_community::fetch_batch(&value, &contact)
.await
.unwrap();
for entry in r {
println!("{:?}", entry);
}
}
Command::Query { query, contact } => {
let r = sensor_community::fetch_by_query(&query, &contact)
.await
.unwrap();
for entry in r {
println!("{:?}", entry);
}
}
Command::Sensor { id, contact } => {
let r = sensor_community::fetch_by_sensor(id, &contact)
.await
.unwrap();
for entry in r {
println!("{:?}", entry);
}
}
}
}