mirror of
https://github.com/aramperes/nut-rs.git
synced 2025-09-07 05:08:30 -04:00
Release 0.5.0
Rename to rups
This commit is contained in:
parent
539d11848e
commit
feef67255f
21 changed files with 51 additions and 47 deletions
28
Cargo.lock
generated
28
Cargo.lock
generated
|
@ -171,18 +171,6 @@ dependencies = [
|
|||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "nut-client"
|
||||
version = "0.4.0"
|
||||
dependencies = [
|
||||
"rustls",
|
||||
"shell-words",
|
||||
"tokio",
|
||||
"tokio-rustls",
|
||||
"webpki",
|
||||
"webpki-roots",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "once_cell"
|
||||
version = "1.8.0"
|
||||
|
@ -228,13 +216,25 @@ dependencies = [
|
|||
"winapi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rups"
|
||||
version = "0.5.0"
|
||||
dependencies = [
|
||||
"rustls",
|
||||
"shell-words",
|
||||
"tokio",
|
||||
"tokio-rustls",
|
||||
"webpki",
|
||||
"webpki-roots",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "rupsc"
|
||||
version = "0.4.0"
|
||||
version = "0.5.0"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"clap",
|
||||
"nut-client",
|
||||
"rups",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
[workspace]
|
||||
members = [
|
||||
"nut-client",
|
||||
"rups",
|
||||
"rupsc"
|
||||
]
|
||||
|
|
24
README.md
24
README.md
|
@ -1,8 +1,8 @@
|
|||
# nut-client
|
||||
# rups
|
||||
|
||||
[](https://crates.io/crates/nut-client)
|
||||
[](https://docs.rs/nut-client)
|
||||
[](./LICENSE)
|
||||
[](https://crates.io/crates/rups)
|
||||
[](https://docs.rs/rups)
|
||||
[](./LICENSE)
|
||||
[](https://github.com/aramperes/nut-client-rs/actions?query=workflow%3ACI)
|
||||
|
||||
A [Network UPS Tools](https://github.com/networkupstools/nut) (NUT) client library for Rust.
|
||||
|
@ -38,15 +38,15 @@ built-in [upsc](https://networkupstools.org/docs/man/upsc.html) tool.
|
|||
Below is a sample program using this library (`cargo run --example blocking`).
|
||||
|
||||
You can also run the async version of this code using
|
||||
`cargo run --example async --features async-rt` (source: `nut-client/examples/async.rs`).
|
||||
`cargo run --example async --features async-rt` (source: `rups/examples/async.rs`).
|
||||
|
||||
```rust
|
||||
// nut-client/examples/blocking.rs
|
||||
// rups/examples/blocking.rs
|
||||
|
||||
use std::env;
|
||||
|
||||
use nut_client::blocking::Connection;
|
||||
use nut_client::{Auth, ConfigBuilder};
|
||||
use rups::blocking::Connection;
|
||||
use rups::{Auth, ConfigBuilder};
|
||||
use std::convert::TryInto;
|
||||
|
||||
fn main() -> nut_client::Result<()> {
|
||||
|
@ -100,7 +100,11 @@ If the server is using a self-signed certificate, and you'd like to ignore the s
|
|||
|
||||
## Async (Tokio)
|
||||
|
||||
The `nut-client` library supports async network requests. This requires the `async` feature, which uses Tokio v1 under
|
||||
the hood.
|
||||
The `rups` library supports async network requests. This requires the `async` feature, which uses Tokio v1 under the
|
||||
hood.
|
||||
|
||||
For SSL support, you must use the `async-ssl` feature as well.
|
||||
|
||||
## Pronunciation
|
||||
|
||||
> r-oops
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
[package]
|
||||
name = "nut-client"
|
||||
version = "0.4.0"
|
||||
name = "rups"
|
||||
version = "0.5.0"
|
||||
authors = ["Aram Peres <aram.peres@wavy.fm>"]
|
||||
edition = "2018"
|
||||
description = "Network UPS Tools (NUT) client library"
|
||||
categories = ["network-programming"]
|
||||
keywords = ["ups", "nut", "tokio", "async"]
|
||||
repository = "https://github.com/aramperes/nut-client-rs"
|
||||
documentation = "https://docs.rs/nut-client"
|
||||
documentation = "https://docs.rs/rups"
|
||||
readme = "../README.md"
|
||||
license = "MIT"
|
||||
|
|
@ -1,11 +1,11 @@
|
|||
use std::env;
|
||||
|
||||
use nut_client::tokio::Connection;
|
||||
use nut_client::{Auth, ConfigBuilder};
|
||||
use rups::tokio::Connection;
|
||||
use rups::{Auth, ConfigBuilder};
|
||||
use std::convert::TryInto;
|
||||
|
||||
#[tokio::main]
|
||||
async fn main() -> nut_client::Result<()> {
|
||||
async fn main() -> rups::Result<()> {
|
||||
let host = env::var("NUT_HOST").unwrap_or_else(|_| "localhost".into());
|
||||
let port = env::var("NUT_PORT")
|
||||
.ok()
|
|
@ -1,10 +1,10 @@
|
|||
use std::convert::TryInto;
|
||||
use std::env;
|
||||
|
||||
use nut_client::blocking::Connection;
|
||||
use nut_client::{Auth, ConfigBuilder};
|
||||
use rups::blocking::Connection;
|
||||
use rups::{Auth, ConfigBuilder};
|
||||
|
||||
fn main() -> nut_client::Result<()> {
|
||||
fn main() -> rups::Result<()> {
|
||||
let host = env::var("NUT_HOST").unwrap_or_else(|_| "localhost".into());
|
||||
let port = env::var("NUT_PORT")
|
||||
.ok()
|
|
@ -1,8 +1,8 @@
|
|||
#![deny(missing_docs)]
|
||||
|
||||
//! # nut-client
|
||||
//! # rups
|
||||
//!
|
||||
//! The `nut-client` crate provides a network client implementation
|
||||
//! The `rups` crate provides a network client implementation
|
||||
//! for Network UPS Tools (NUT) servers.
|
||||
|
||||
pub use config::*;
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "rupsc"
|
||||
version = "0.4.0"
|
||||
version = "0.5.0"
|
||||
authors = ["Aram Peres <aram.peres@wavy.fm>"]
|
||||
edition = "2018"
|
||||
description = "A demo program to display UPS variables"
|
||||
|
@ -16,7 +16,7 @@ license = "MIT"
|
|||
clap = "2.33.3"
|
||||
anyhow = "1"
|
||||
|
||||
[dependencies.nut-client]
|
||||
version = "0.4.0"
|
||||
path = "../nut-client"
|
||||
[dependencies.rups]
|
||||
version = "0.5.0"
|
||||
path = "../rups"
|
||||
features = ["ssl"]
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
# rupsc
|
||||
|
||||
[](https://crates.io/crates/rupsc)
|
||||
[](https://docs.rs/nut-client)
|
||||
[](https://docs.rs/rups)
|
||||
[](./LICENSE)
|
||||
[](https://github.com/aramperes/nut-client-rs/actions?query=workflow%3ACI)
|
||||
|
||||
A Rust clone of [upsc](https://networkupstools.org/docs/man/upsc.html),
|
||||
the [Network UPS Tools](https://github.com/networkupstools/nut) (NUT) demo program to display UPS variables.
|
||||
|
||||
Written using the [nut-client](https://github.com/aramperes/nut-client-rs) crate.
|
||||
Written using the [rups](https://github.com/aramperes/nut-client-rs) crate.
|
||||
|
||||
- Connect to `upsd`/`nut-server` using TCP
|
||||
- List UPS devices
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
use anyhow::Context;
|
||||
|
||||
use nut_client::blocking::Connection;
|
||||
use nut_client::Config;
|
||||
use rups::blocking::Connection;
|
||||
use rups::Config;
|
||||
|
||||
/// Lists each UPS on the upsd server, one per line.
|
||||
pub fn list_devices(config: Config, with_description: bool) -> anyhow::Result<()> {
|
||||
|
|
|
@ -82,7 +82,7 @@ fn main() -> anyhow::Result<()> {
|
|||
let ssl = insecure_ssl || args.is_present("ssl");
|
||||
|
||||
let host = server.try_into()?;
|
||||
let config = nut_client::ConfigBuilder::new()
|
||||
let config = rups::ConfigBuilder::new()
|
||||
.with_host(host)
|
||||
.with_debug(debug)
|
||||
.with_ssl(ssl)
|
||||
|
|
|
@ -64,10 +64,10 @@ impl<'a> TryFrom<&'a str> for UpsdName<'a> {
|
|||
}
|
||||
}
|
||||
|
||||
impl<'a> TryInto<nut_client::Host> for UpsdName<'a> {
|
||||
impl<'a> TryInto<rups::Host> for UpsdName<'a> {
|
||||
type Error = anyhow::Error;
|
||||
|
||||
fn try_into(self) -> anyhow::Result<nut_client::Host> {
|
||||
fn try_into(self) -> anyhow::Result<rups::Host> {
|
||||
(self.hostname.to_owned(), self.port)
|
||||
.try_into()
|
||||
.with_context(|| "Invalid hostname/port")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue