small changes to resource allocation, marginally increasing efficiency
This commit is contained in:
parent
e3e4953560
commit
723808cf1d
|
|
@ -80,8 +80,8 @@ fn append_fields(b: &mut Builder, cfg: &Config, data: &Data) {
|
||||||
for field in &cfg.metadata_fields {
|
for field in &cfg.metadata_fields {
|
||||||
if let Some(string) = data.field_text.get(&field.field) {
|
if let Some(string) = data.field_text.get(&field.field) {
|
||||||
idx += 1;
|
idx += 1;
|
||||||
b.append(string.clone());
|
b.append(string.as_str());
|
||||||
if idx < len {b.append(cfg.metadata_separator.clone())};
|
if idx < len {b.append(cfg.metadata_separator.as_str())};
|
||||||
} else {
|
} else {
|
||||||
info!("failed to get {} value!", field.field);
|
info!("failed to get {} value!", field.field);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -60,7 +60,7 @@ fn rating_to_string(r: Option<&MetadataValue>, str: &Vec<String>) -> Option<Stri
|
||||||
if i > 10 {i = 10}
|
if i > 10 {i = 10}
|
||||||
if i < 0 {i = 0}
|
if i < 0 {i = 0}
|
||||||
|
|
||||||
Some(str[i as usize].clone()) //TODO: still inefficient. would be better to note the idx and load it in print_text
|
Some(str[i as usize].to_owned()) //TODO: still inefficient. would be better to note the idx and load it in print_text
|
||||||
} else {
|
} else {
|
||||||
debug!("failed to convert MetadataValue to f64!");
|
debug!("failed to convert MetadataValue to f64!");
|
||||||
None
|
None
|
||||||
|
|
@ -85,17 +85,17 @@ pub fn update_message(cfg: &Config, data: &mut Data, ratings: &Vec<String>) {
|
||||||
if let Some(player) = &data.current_player {
|
if let Some(player) = &data.current_player {
|
||||||
if let Ok(meta) = player.get_metadata() {
|
if let Ok(meta) = player.get_metadata() {
|
||||||
for field in &cfg.metadata_fields {
|
for field in &cfg.metadata_fields {
|
||||||
let key = field.field.clone();
|
let key: &str = field.field.as_ref();
|
||||||
if field.field.eq("xesam:userRating") {
|
if field.field.eq("xesam:userRating") {
|
||||||
if let Some(rating_string) = rating_to_string(meta.get(&key), ratings) {
|
if let Some(rating_string) = rating_to_string(meta.get(key), ratings) {
|
||||||
data.field_text.insert(key, rating_string);
|
data.field_text.insert(key.to_owned(), rating_string);
|
||||||
} else {
|
} else {
|
||||||
data.field_text.remove(&key);
|
data.field_text.remove(key);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
match meta.get(&key) {
|
match meta.get(&key) {
|
||||||
Some(value) => data.field_text.insert(key, value_to_string(value, cfg.array_separator)),
|
Some(value) => data.field_text.insert(key.to_owned(), value_to_string(value, cfg.array_separator)),
|
||||||
None => data.field_text.insert(key, format!("No {}", field.field.clone().trim_start_matches("xesam:"))),
|
None => data.field_text.insert(key.to_owned(), format!("No {}", key.trim_start_matches("xesam:"))),
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -16,10 +16,10 @@ use crate::structs::{data::Data, config::Config};
|
||||||
/// name: name of active player, to fetch the appropriate prefix from cfg.
|
/// name: name of active player, to fetch the appropriate prefix from cfg.
|
||||||
fn update_prefix(cfg: &Config, data: &mut char, name: &str) {
|
fn update_prefix(cfg: &Config, data: &mut char, name: &str) {
|
||||||
if let Some(char) = cfg.player_prefixes.get(name) {
|
if let Some(char) = cfg.player_prefixes.get(name) {
|
||||||
*data = char.clone();
|
*data = *char;
|
||||||
trace!("updated prefix to {}", data);
|
trace!("updated prefix to {}", data);
|
||||||
} else {
|
} else {
|
||||||
*data = cfg.player_prefixes.get("default").unwrap_or(&'>').clone();
|
*data = *cfg.player_prefixes.get("default").unwrap_or(&'>');
|
||||||
trace!("set prefix to default ({})", data);
|
trace!("set prefix to default ({})", data);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue