def validate_filter_json(ctx, param, value): # The "None" edge case should only be for optional filters, like alias add/remove if value is None: return value try: filter_list = ensure_list(json.loads(value)) return filter_list except ValueError: raise click.BadParameter('Filter list is invalid JSON: {0}'.format(value))
def set_logging(log_opts): # Set up logging loginfo = LogInfo(log_opts) logging.root.addHandler(loginfo.handler) logging.root.setLevel(loginfo.numeric_log_level) _ = logging.getLogger('curator.cli') # Set up NullHandler() to handle nested elasticsearch.trace Logger # instance in elasticsearch python client logging.getLogger('elasticsearch.trace').addHandler(logging.NullHandler()) if log_opts['blacklist']: for bl_entry in ensure_list(log_opts['blacklist']): for handler in logging.root.handlers: handler.addFilter(Blacklist(bl_entry))