diff --git a/Cargo.toml b/Cargo.toml index 367b044..518d301 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -18,6 +18,7 @@ tokio = { version = "1", features = ["full"] } avatar = [] discord = ["avatar"] fedi = ["avatar"] +jlog = [] [profile.release] opt-level = 'z' diff --git a/src/main.rs b/src/main.rs index b38a542..e22a44b 100644 --- a/src/main.rs +++ b/src/main.rs @@ -320,6 +320,19 @@ fn set_member(config_path: String, tf_members: Vec) -> Result<(), &'stat println!("--------------------------\nIf a member is missing from the system try running \"pluralsync sync\" to refresh the local database"); return Err("Missing member"); } + + #[cfg(feature = "jlog")] { + let mut names = Vec::new(); + for m in &to_front { + names.push(String::from(&m.name)); + } + let log_fronters = names.join(" || "); + #[cfg(target_os = "windows")] + std::process::Command::new("jlog").args(["info", format!("Switch registered: {}", log_fronters)]).output().expect("Logging error"); + #[cfg(not(target_os = "windows"))] + std::process::Command::new("jlog").arg("info").arg(format!("Switch registered: {}", log_fronters)).output().expect("Logging error"); + } + Ok(()) } @@ -352,12 +365,26 @@ fn add_member(config_path: String, tf_members: Vec) -> Result<(), &'stat sp_set_fronters(&config.sp_key, &to_front, &fronters); let _ = get(config_path, ForceFrom::None); + } else { println!("One or more members were not found. Known members:\n--------------------------"); let _ = memberlist(config_path); println!("--------------------------\nIf a member is missing from the system try running \"pluralsync sync\" to refresh the local database"); return Err("Missing member"); } + + #[cfg(feature = "jlog")] { + let mut names = Vec::new(); + for m in &to_front { + names.push(String::from(&m.name)); + } + let log_fronters = names.join(" || "); + #[cfg(target_os = "windows")] + std::process::Command::new("jlog").args(["info", format!("Switch registered: {}", log_fronters)]).output().expect("Logging error"); + #[cfg(not(target_os = "windows"))] + std::process::Command::new("jlog").arg("info").arg(format!("Switch registered: {}", log_fronters)).output().expect("Logging error"); + } + Ok(()) } @@ -436,6 +463,7 @@ fn avatar_module(config: &Config, names: &Vec) { } else { Command::new("sh").arg("-c").arg(format!("cp {}/{} {}", &config.avatar_module.avatar_folder, avatarnames, &config.avatar_module.avatar_output_path)).output().expect("Avatar module error"); } + println!("Avatar module finished"); } } @@ -465,11 +493,11 @@ fn fedi_module(config: &Config) { .header(USER_AGENT, "Pluralsync") .header(AUTHORIZATION, format!("Bearer {}", &config.fedi_module.token).as_str()); + println!("Fedi module finished"); match http_request(rb) { Ok(_) => (), Err(e) => println!("{}", e.to_string()), } - } }