summaryrefslogtreecommitdiff
path: root/src/tasks/client.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/tasks/client.rs')
-rw-r--r--src/tasks/client.rs112
1 files changed, 47 insertions, 65 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) => {