Source code for greynoise.cli.parameter

"""Command line parameter types."""

import click

from greynoise.util import validate_ip


[docs]def ip_addresses_parameter(_context, _parameter, values): """IPv4 addresses passed from the command line. :param values: IPv4 address values :type value: list :raises click.BadParameter: when any IP address value is invalid """ valid_ips = [] for value in values: try: if "," in value: split_value = value.split(",") for item in split_value: validate_ip(item, strict=False) valid_ips.append(item) else: validate_ip(value) valid_ips.append(value) except ValueError: raise click.BadParameter(value) return valid_ips