diff options
author | Dmitry Valter <38795282+dvalter@users.noreply.github.com> | 2023-03-03 05:33:47 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-03-03 00:33:47 -0500 |
commit | 40288c181eff39348661259aab1ad2d14c5575b4 (patch) | |
tree | f9a722f0ad07d03c0177e55de54b0ba62a3b22da /src | |
parent | 8cc763cc1b9741349805fd658308cc34ddba2a4f (diff) |
fix: is_list_ignored=false filters for network and temperature (#1037)
Use filter logic from network/sysinfo in temperature and network/heim
harvesters. Previously is_list_ignored=false filter configs would
silently accept every sensor and every interface.
Diffstat (limited to 'src')
-rw-r--r-- | src/app/data_harvester/network/heim.rs | 17 | ||||
-rw-r--r-- | src/app/data_harvester/temperature.rs | 16 |
2 files changed, 12 insertions, 21 deletions
diff --git a/src/app/data_harvester/network/heim.rs b/src/app/data_harvester/network/heim.rs index 28144a55..646c8528 100644 --- a/src/app/data_harvester/network/heim.rs +++ b/src/app/data_harvester/network/heim.rs @@ -23,22 +23,17 @@ pub async fn get_network_data( while let Some(io) = io_data.next().await { if let Ok(io) = io { let to_keep = if let Some(filter) = filter { - if filter.is_list_ignored { - let mut ret = true; - for r in &filter.list { - if r.is_match(io.interface()) { - ret = false; - break; - } + let mut ret = filter.is_list_ignored; + for r in &filter.list { + if r.is_match(io.interface()) { + ret = !filter.is_list_ignored; + break; } - ret - } else { - true } + ret } else { true }; - if to_keep { // TODO: Use bytes as the default instead, perhaps? // Since you might have to do a double conversion (bytes -> bits -> bytes) in some cases; diff --git a/src/app/data_harvester/temperature.rs b/src/app/data_harvester/temperature.rs index a24da371..82cf38f4 100644 --- a/src/app/data_harvester/temperature.rs +++ b/src/app/data_harvester/temperature.rs @@ -47,18 +47,14 @@ fn convert_celsius_to_fahrenheit(celsius: f32) -> f32 { fn is_temp_filtered(filter: &Option<Filter>, text: &str) -> bool { if let Some(filter) = filter { - if filter.is_list_ignored { - let mut ret = true; - for r in &filter.list { - if r.is_match(text) { - ret = false; - break; - } + let mut ret = filter.is_list_ignored; + for r in &filter.list { + if r.is_match(text) { + ret = !filter.is_list_ignored; + break; } - ret - } else { - true } + ret } else { true } |