def __translate_protocol(self, value): if value.lower() == 'tcp': return (Service.protocol == Protocol.TCP) elif value.lower() == 'udp': return (Service.protocol == Protocol.UDP) else: raise FilterException( '{value} invalid protocol'.format(value=value))
def __translate_up(self, value): """Translate up status into filter""" if type(value) is bool: val = value elif type(value) is str: val = (value.lower() == 'true') else: raise FilterException( '{value} invalid up status'.format(value=value)) return (Service.up == val)
def __translate_ip(self, value): """ Translate IP address or IP range into Sqlalchemy filter. Range must be in CIDR format, e.g. 1.1.1.1/24 """ if NetUtils.is_valid_ip(value): return (Host.ip == value) elif NetUtils.is_valid_ip_range(value): return (Host.is_in_ip_range(value)) else: raise FilterException( '{value} invalid IP/range'.format(value=value))
def __translate_port(self, value): """ Translate port number or ports range into Sqlalchemy filter. Ports range in format: 8000-9000 """ if NetUtils.is_valid_port(value): return (Service.port == int(value)) elif NetUtils.is_valid_port_range(value): minport, maxport = value.split('-') return (Sevrice.port.between(int(minport), int(maxport))) else: raise FilterException( '{value} invalid port/range'.format(value=value))
def __translate_ip(self, value): """ value can be: - Single IP - IP range - format: 1.1.1.1/24 """ if NetUtils.is_valid_ip(value): return (Host.ip == value) elif NetUtils.is_valid_ip_range(value): return (Host.is_in_ip_range(value)) else: raise FilterException( '{value} invalid IP/range'.format(value=value))
def __translate_port(self, value): """ value can be: - Single port number - Port range - format 8000-8100 """ if NetUtils.is_valid_port(value): return (Service.port == int(value)) elif NetUtils.is_valid_port_range(value): minport, maxport = value.split('-') return (Service.port.between(int(minport), int(maxport))) else: raise FilterException( '{value} invalid port/range'.format(value=value))