summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDmitry Valter <38795282+dvalter@users.noreply.github.com>2023-03-03 05:33:47 +0000
committerGitHub <noreply@github.com>2023-03-03 00:33:47 -0500
commit40288c181eff39348661259aab1ad2d14c5575b4 (patch)
treef9a722f0ad07d03c0177e55de54b0ba62a3b22da /src
parent8cc763cc1b9741349805fd658308cc34ddba2a4f (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.rs17
-rw-r--r--src/app/data_harvester/temperature.rs16
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
}