mirror of
https://github.com/LibreQoE/LibreQoS.git
synced 2025-02-25 18:55:32 -06:00
Handle floats and ints in overrides
This commit is contained in:
parent
6f986f4cd1
commit
b4e3484ff1
@ -35,9 +35,9 @@ pub fn get_site_bandwidth_overrides(
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
let parent_node = result[0].to_string();
|
let parent_node = result[0].to_string();
|
||||||
if let Ok(d) = &result[1].parse::<f32>() {
|
if let Some(d) = numeric_string_to_f32(&result[1]) {
|
||||||
if let Ok(u) = &result[2].parse::<f32>() {
|
if let Some(u) = numeric_string_to_f32(&result[2]) {
|
||||||
overrides.insert(parent_node, (*d, *u));
|
overrides.insert(parent_node, (d, u));
|
||||||
} else {
|
} else {
|
||||||
error!("Cannot parse {} as float on line {line}", &result[2]);
|
error!("Cannot parse {} as float on line {line}", &result[2]);
|
||||||
}
|
}
|
||||||
@ -58,6 +58,17 @@ pub fn get_site_bandwidth_overrides(
|
|||||||
Ok(HashMap::new())
|
Ok(HashMap::new())
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn numeric_string_to_f32(text: &str) -> Option<f32> {
|
||||||
|
if let Ok(n) = text.parse::<f32>() {
|
||||||
|
Some(n)
|
||||||
|
} else if let Ok(n) = text.parse::<i64>() {
|
||||||
|
Some(n as f32)
|
||||||
|
} else {
|
||||||
|
error!("Unable to parse {text} as a numeric");
|
||||||
|
None
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
pub fn apply_bandwidth_overrides(sites: &mut Vec<UispSite>, bandwidth_overrides: &BandwidthOverrides) {
|
pub fn apply_bandwidth_overrides(sites: &mut Vec<UispSite>, bandwidth_overrides: &BandwidthOverrides) {
|
||||||
for site in sites.iter_mut() {
|
for site in sites.iter_mut() {
|
||||||
if let Some((up, down)) = bandwidth_overrides.get(&site.name) {
|
if let Some((up, down)) = bandwidth_overrides.get(&site.name) {
|
||||||
|
Loading…
Reference in New Issue
Block a user