diff --git a/src/foundation/mapper.rs b/src/foundation/mapper.rs index 1f0ee3a30..3bbbb43a1 100644 --- a/src/foundation/mapper.rs +++ b/src/foundation/mapper.rs @@ -1028,12 +1028,7 @@ impl Expression { Value(value) => { Some(value) } - Named(values) => { - match values.first() { - None => None, - Some((_key, val)) => Some(val), - } - } + Named(values) => values.first().map(|(_key, val)| val), _ => None }; if let Some(val) = value { diff --git a/src/model/config_sort.rs b/src/model/config_sort.rs index 49326a1dd..65ff486a4 100644 --- a/src/model/config_sort.rs +++ b/src/model/config_sort.rs @@ -38,10 +38,10 @@ impl ConfigSortGroup { pub fn prepare(&mut self, templates: Option<&Vec>) -> Result<(), TuliproxError> { let processed_sequence = match (&self.sequence, templates) { - (Some(seqs), Some(tmpls)) => { + (Some(seqs), Some(_templs)) => { let mut result = Vec::new(); for s in seqs { - match apply_templates_to_pattern(s, Some(tmpls), true)? { + match apply_templates_to_pattern(s, templates, true)? { TemplateValue::Single(val) => result.push(val), TemplateValue::Multi(vals) => result.extend(vals), } diff --git a/src/processing/processor/playlist.rs b/src/processing/processor/playlist.rs index 3349e7766..b0febe8ad 100644 --- a/src/processing/processor/playlist.rs +++ b/src/processing/processor/playlist.rs @@ -129,10 +129,10 @@ fn map_channel(mut channel: PlaylistItem, mapping: &Mapping) -> PlaylistItem { let templates = mapping.templates.as_ref(); for m in mapper { if let Some(script) = m.t_script.as_ref() { - let provider = ValueProvider { pli: &ref_chan.clone() }; - let mut accessor = ValueAccessor { pli: ref_chan }; if let Some(filter) = &m.t_filter { + let provider = ValueProvider { pli: ref_chan }; if filter.filter(&provider) { + let mut accessor = ValueAccessor { pli: ref_chan }; script.eval(&mut accessor, templates); } }