Mapper script built-in function template

This commit is contained in:
euzu
2025-06-12 16:20:15 +02:00
parent ef0c68ea0c
commit dd2dd0b052
7 changed files with 124 additions and 67 deletions
+2 -1
View File
@@ -126,13 +126,14 @@ fn map_channel(mut channel: PlaylistItem, mapping: &Mapping) -> PlaylistItem {
let channel_name = if mapping.match_as_ascii { deunicode(&header.name) } else { header.name.to_string() };
if mapping.match_as_ascii && log_enabled!(Level::Trace) { trace!("Decoded {} for matching to {}", &header.name, &channel_name); }
let ref_chan = &mut channel;
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 {
if filter.filter(&provider) {
script.eval(&mut accessor);
script.eval(&mut accessor, templates);
}
}
}