def validate_arguments(arguments): """ Validate argument values: <PEER_IP> <AS_NUM> Arguments not validated: :param arguments: Docopt processed arguments """ # Validate IPs peer_ip_ok = arguments.get("<PEER_IP>") is None or \ validate_ip(arguments["<PEER_IP>"], 4) or \ validate_ip(arguments["<PEER_IP>"], 6) asnum_ok = True asnum = arguments.get("<AS_NUM>") if asnum: asnum_ok = validate_asn(asnum) # Print error messages if not peer_ip_ok: print "Invalid IP address specified." if not asnum_ok: print "Invalid AS Number specified." # Exit if not valid arguments if not (peer_ip_ok and asnum_ok): sys.exit(1)
def validate_arguments(arguments): """ Validate argument values: <IP> <IP6> <PEER_IP> <AS_NUM> <DETACH> Arguments not validated: <DOCKER_IMAGE_NAME> <LOG_DIR> :param arguments: Docopt processed arguments """ # Validate IPs ip_ok = arguments.get("--ip") is None or \ validate_ip(arguments.get("--ip"), 4) ip6_ok = arguments.get("--ip6") is None or \ validate_ip(arguments.get("--ip6"), 6) container_ip_ok = arguments.get("<IP>") is None or \ validate_ip(arguments["<IP>"], 4) or \ validate_ip(arguments["<IP>"], 6) peer_ip_ok = arguments.get("<PEER_IP>") is None or \ validate_ip(arguments["<PEER_IP>"], 4) or \ validate_ip(arguments["<PEER_IP>"], 6) runtime_ok = arguments.get("--runtime") in [None, "none", "docker"] asnum_ok = True asnum = arguments.get("<AS_NUM>") or arguments.get("--as") if asnum: asnum_ok = validate_asn(asnum) detach_ok = True if arguments.get("<DETACH>") or arguments.get("--detach"): detach_ok = arguments.get("--detach") in ["true", "false"] detach_libnetwork_ok = (arguments.get("--detach") == "true" or not arguments.get("--libnetwork")) # Print error message if not ip_ok: print "Invalid IPv4 address specified with --ip argument." if not ip6_ok: print "Invalid IPv6 address specified with --ip6 argument." if not container_ip_ok or not peer_ip_ok: print "Invalid IP address specified." if not asnum_ok: print "Invalid AS Number specified." if not detach_ok: print "Valid values for --detach are 'true' and 'false'" if not detach_libnetwork_ok: print "The only valid value for --detach is 'true' when using libnetwork" if not runtime_ok: print "Runtime must be 'docker' or 'none'." # Exit if not valid argument if not (ip_ok and ip6_ok and container_ip_ok and peer_ip_ok and asnum_ok and detach_ok and detach_libnetwork_ok and runtime_ok): sys.exit(1)
def validate_arguments(arguments): """ Validate argument values: <IP> <IP6> <PEER_IP> <AS_NUM> <DETACH> Arguments not validated: <DOCKER_IMAGE_NAME> <LOG_DIR> :param arguments: Docopt processed arguments """ # Validate IPs ip_ok = arguments.get("--ip") is None or \ validate_ip(arguments.get("--ip"), 4) ip6_ok = arguments.get("--ip6") is None or \ validate_ip(arguments.get("--ip6"), 6) container_ip_ok = arguments.get("<IP>") is None or \ validate_ip(arguments["<IP>"], 4) or \ validate_ip(arguments["<IP>"], 6) peer_ip_ok = arguments.get("<PEER_IP>") is None or \ validate_ip(arguments["<PEER_IP>"], 4) or \ validate_ip(arguments["<PEER_IP>"], 6) asnum_ok = True asnum = arguments.get("<AS_NUM>") or arguments.get("--as") if asnum: asnum_ok = validate_asn(asnum) detach_ok = True if arguments.get("<DETACH>") or arguments.get("--detach"): detach_ok = arguments.get("--detach") in ["true", "false"] # Print error message if not ip_ok: print "Invalid IPv4 address specified with --ip argument." if not ip6_ok: print "Invalid IPv6 address specified with --ip6 argument." if not container_ip_ok or not peer_ip_ok: print "Invalid IP address specified." if not asnum_ok: print "Invalid AS Number specified." if not detach_ok: print "Valid values for --detach are 'true' and 'false'" # Exit if not valid argument if not (ip_ok and ip6_ok and container_ip_ok and peer_ip_ok and asnum_ok and detach_ok): sys.exit(1)