diff options
Diffstat (limited to 'src/tasks')
| -rw-r--r-- | src/tasks/client.rs | 112 | ||||
| -rw-r--r-- | src/tasks/server.rs | 35 |
2 files changed, 59 insertions, 88 deletions
diff --git a/src/tasks/client.rs b/src/tasks/client.rs index baadfec..af98d61 100644 --- a/src/tasks/client.rs +++ b/src/tasks/client.rs @@ -15,35 +15,25 @@ pub enum Name { impl Display for Name { fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { - write!( - f, - "{:?}", - self - ) + write!(f, "{:?}", self) } } pub const TASKS: &[Task] = &[ - Task( - BaseTask { - name: Name::Nop, - exec: no_op, - }, - ), - Task( - BaseTask { - name: Name::Exec, - exec: exec, - }, - ), + Task(BaseTask { + name: Name::Nop, + exec: no_op, + }), + Task(BaseTask { + name: Name::Exec, + exec: exec, + }), NETWORK_T, ]; -pub const NETWORK_T: Task = Task( - BaseTask { - name: Name::Network, - exec: network, - }, -); +pub const NETWORK_T: Task = Task(BaseTask { + name: Name::Network, + exec: network, +}); fn no_op(_: &[&str], _: &()) -> Result<String, String> { Ok("".to_string()) @@ -90,56 +80,48 @@ fn network(switch: &[&str], _: &()) -> Result<String, String> { Ok(devs) => { match Command::new("awk") .arg(r#"/Wi-Fi|AirPort/{getline; print $2}"#) - .stdin( - Stdio::from( - match devs.stdout { - Some(s) => s, - None => match devs.stderr { - Some(mut e) => { - let mut reason = String::new(); - if let Err(e) = e.read_to_string(&mut reason) { - return Err(format!("networksetup failed to list hardware: {e}")); - } - return Err(format!("networksetup failed to list hardware: {reason}")); - } - None => Err("networksetup failed to list hardware".to_string())?, - }, - }, - ), - ) + .stdin(Stdio::from(match devs.stdout { + Some(s) => s, + None => match devs.stderr { + Some(mut e) => { + let mut reason = String::new(); + if let Err(e) = e.read_to_string(&mut reason) { + return Err(format!("networksetup failed to list hardware: {e}")); + } + return Err(format!("networksetup failed to list hardware: {reason}")); + } + None => Err("networksetup failed to list hardware".to_string())?, + }, + })) .stdout(Stdio::piped()) .spawn() { Ok(dev) => match Command::new("networksetup") .arg("-setairportpower") - .arg( - match dev.stdout { - Some(mut o) => { - let mut output = String::new(); - if let Err(e) = o.read_to_string(&mut output) { + .arg(match dev.stdout { + Some(mut o) => { + let mut output = String::new(); + if let Err(e) = o.read_to_string(&mut output) { + return Err(format!("awk failed to get device from networksetup list hardware: {e}")); + }; + output + } + None => match dev.stderr { + Some(mut e) => { + let mut reason = String::new(); + if let Err(e) = e.read_to_string(&mut reason) { return Err(format!("awk failed to get device from networksetup list hardware: {e}")); - }; - output - } - None => match dev.stderr { - Some(mut e) => { - let mut reason = String::new(); - if let Err(e) = e.read_to_string(&mut reason) { - return Err(format!("awk failed to get device from networksetup list hardware: {e}")); - } - return Err(format!("awk failed to get device from networksetup list hardware: {reason}")); } - None => Err("awk failed to get device from networksetup list hardware".to_string())?, - }, - }, - ) - .arg( - if switch { - "on" - } else { - "off" + return Err(format!("awk failed to get device from networksetup list hardware: {reason}")); + } + None => Err("awk failed to get device from networksetup list hardware".to_string())?, }, - ) + }) + .arg(if switch { + "on" + } else { + "off" + }) .output() { Ok(o) => { diff --git a/src/tasks/server.rs b/src/tasks/server.rs index 4271b7c..e466bdb 100644 --- a/src/tasks/server.rs +++ b/src/tasks/server.rs @@ -18,21 +18,15 @@ pub enum Name { impl Display for Name { fn fmt(&self, f: &mut core::fmt::Formatter<'_>) -> core::fmt::Result { - write!( - f, - "{:?}", - self - ) + write!(f, "{:?}", self) } } pub const TASKS: &[Task] = &[ - Task( - BaseTask { - name: Name::GetIp, - exec: get_ip, - }, - ), + Task(BaseTask { + name: Name::GetIp, + exec: get_ip, + }), ]; fn get_ip(_: &[&str], ctx: &ServerCtx) -> TaskOutput { @@ -40,10 +34,9 @@ fn get_ip(_: &[&str], ctx: &ServerCtx) -> TaskOutput { .stream .peer_addr() { - Ok(addr) => Ok( - addr.ip() - .to_string(), - ), + Ok(addr) => Ok(addr + .ip() + .to_string()), Err(e) => Err(e.to_string()), } } @@ -53,14 +46,10 @@ impl<'a> TryFrom<Name> for Task<'a> { fn try_from(value: Name) -> Result<Self, Self::Error> { match value { - Name::GetIp => Ok( - Task( - BaseTask { - name: Name::GetIp, - exec: get_ip, - }, - ), - ), + Name::GetIp => Ok(Task(BaseTask { + name: Name::GetIp, + exec: get_ip, + })), } } } |
