From daebce18cc877a380b73edf0623e11d77a5a85ca Mon Sep 17 00:00:00 2001 From: Michael Wiencek Date: Sun, 12 Feb 2012 19:06:55 -0600 Subject: [PATCH] Add $inmulti to check for a value in a multi-valued tag (PICARD-113) --- picard/script.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/picard/script.py b/picard/script.py index f8a01d03d..e0e322d18 100644 --- a/picard/script.py +++ b/picard/script.py @@ -325,6 +325,10 @@ def func_in(parser, text, needle): else: return "" +def func_inmulti(parser, text, value, separator=MULTI_VALUED_JOINER): + """Splits ``text`` by ``separator``, and returns true if the resulting list contains ``value``.""" + return func_in(parser, text.split(separator) if separator else [text], value) + def func_rreplace(parser, text, old, new): return re.sub(old, new, text) @@ -587,6 +591,7 @@ register_script_function(func_lte, "lte") register_script_function(func_gt, "gt") register_script_function(func_gte, "gte") register_script_function(func_in, "in") +register_script_function(func_inmulti, "inmulti") register_script_function(func_copy, "copy") register_script_function(func_copymerge, "copymerge") register_script_function(func_len, "len")