def replace_explicit_host_condition(self, old_name, new_name): """Does an in-place(!) replacement of explicit (non regex) hostnames in rules""" if self.conditions.host_name is None: return False did_rename = False _negate, host_conditions = ruleset_matcher.parse_negated_condition_list( self.conditions.host_name) for index, condition in enumerate(host_conditions): if condition == old_name: host_conditions[index] = new_name did_rename = True return did_rename
def _condition_list(self, object_list, is_service): if object_list is None: return None negate, object_list = ruleset_matcher.parse_negated_condition_list(object_list) pattern_list = [] for entry in object_list: if isinstance(entry, dict): if "$regex" not in entry: raise NotImplementedError() if is_service: pattern_list.append("%s" % entry["$regex"]) else: pattern_list.append("~%s" % entry["$regex"]) else: pattern_list.append(entry) return pattern_list, negate