Skip to content

Commit

Permalink
feat: export update for macos home dir
Browse files Browse the repository at this point in the history
  • Loading branch information
Chleba committed Jul 3, 2024
1 parent 7e895cc commit 99ec5ac
Showing 1 changed file with 20 additions and 21 deletions.
41 changes: 20 additions & 21 deletions src/components/export.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ impl Export {
}
}

#[cfg(target_os = "linux")]
fn get_user_home_dir(&mut self) {
let mut home_dir = String::from("/root");
if let Some(h_dir) = env::var_os("HOME") {
Expand All @@ -40,6 +41,25 @@ impl Export {
}
}

#[cfg(target_os = "macos")]
fn get_user_home_dir(&mut self) {
let mut home_dir = String::from("/root");
if let Some(h_dir) = env::var_os("HOME") {
home_dir = String::from(h_dir.to_str().unwrap());
}
if let Some(sudo_user) = env::var_os("SUDO_USER") {
home_dir = format!("/Users/{}", sudo_user.to_str().unwrap());
}
self.home_dir = format!("{}/.netscanner", home_dir);

// -- create dot folder
if std::fs::metadata(self.home_dir.clone()).is_err() {
if std::fs::create_dir_all(self.home_dir.clone()).is_err() {
println!("Failed to create export dir");
}
}
}

pub fn write_discovery(&mut self, data: Vec<ScannedIp>, timestamp: &String) -> Result<()> {
let mut w = Writer::from_path(format!("{}/scanned_ips.{}.csv", self.home_dir, timestamp))?;

Expand Down Expand Up @@ -73,27 +93,6 @@ impl Export {
Ok(())
}

pub fn write_arp_packets(
&mut self,
data: Vec<(DateTime<Local>, PacketsInfoTypesEnum)>,
timestamp: &String,
) -> Result<()> {
let mut w = Writer::from_path(format!("{}/arp_packets.{}.csv", self.home_dir, timestamp))?;

// -- header
w.write_record(["time", "log"])?;
for (t, p) in data {
let mut log_str = String::from("");
if let PacketsInfoTypesEnum::Arp(log) = p {
log_str = log.raw_str;
}
w.write_record([t.to_string(), log_str])?;
}
w.flush()?;

Ok(())
}

pub fn write_packets(
&mut self,
data: Vec<(DateTime<Local>, PacketsInfoTypesEnum)>,
Expand Down

0 comments on commit 99ec5ac

Please sign in to comment.