diff --git a/tools/oneclick/base/common.py b/tools/oneclick/base/common.py
index de1a5a092515562d7751a9c371c3bc081d3a927d..01a7e7d428c1ee365c3f3ae4963ef34de21e2f3c 100644
--- a/tools/oneclick/base/common.py
+++ b/tools/oneclick/base/common.py
@@ -421,6 +421,27 @@ def index_a_in_multi_b(a, b):
         pass
     return None
 
+def find_indices_where(in_list, value, condition=operator.eq):
+    """Return list of indices in in_list that match the condition value
+    
+       Condition operators from import operator are e.g. 
+         operator.eq : ==
+         operator.ne : !=
+         operator.lt : <
+         operator.le : <=
+         operator.gt : >
+         operator.ge : >=
+    """
+    return [i for i,x in enumerate(in_list) if condition(x, value)]
+        
+def find_indices_where_eq(in_list, value): return find_indices_where_value(in_list, value, operator.eq)
+def find_indices_where_ne(in_list, value): return find_indices_where_value(in_list, value, operator.ne)
+def find_indices_where_lt(in_list, value): return find_indices_where_value(in_list, value, operator.lt)
+def find_indices_where_le(in_list, value): return find_indices_where_value(in_list, value, operator.le)
+def find_indices_where_gt(in_list, value): return find_indices_where_value(in_list, value, operator.gt)
+def find_indices_where_ge(in_list, value): return find_indices_where_value(in_list, value, operator.ge)
+
+
 def unique(in_list):
     """
     Extract unique list elements (without changing the order like set() does)