def range_usage_ajax(request): start = request.GET.get('start', None) end = request.GET.get('end', None) start_ip_type, _ = resolve_ip_type(start) end_ip_type, _ = resolve_ip_type(end) errors = None if start_ip_type != end_ip_type or start_ip_type is None: errors = "Couldn't resolve ip_type" return render(request, 'range/range_usage_ajax.html', { 'errors': errors, }) rusage = range_usage(start, end, start_ip_type, get_objects=True) def translate_ip(ip_i, *args): return int_to_ip(ip_i, start_ip_type) return render( request, 'range/range_usage_ajax.html', { 'errors': errors, 'start': start, 'end': end, 'start_i': int_to_ip(start, start_ip_type), 'end_i': int_to_ip(end, end_ip_type), 'rusage': rusage, 'translate_ip': translate_ip })
def range_usage_ajax(request): start = request.GET.get('start', None) end = request.GET.get('end', None) start_ip_type, _ = resolve_ip_type(start) end_ip_type, _ = resolve_ip_type(end) errors = None if start_ip_type != end_ip_type or start_ip_type is None: errors = "Couldn't resolve ip_type" return render(request, 'range/range_usage_ajax.html', { 'errors': errors, }) rusage = range_usage(start, end, start_ip_type, get_objects=True) def translate_ip(ip_i, *args): return int_to_ip(ip_i, start_ip_type) return render(request, 'range/range_usage_ajax.html', { 'errors': errors, 'start': start, 'end': end, 'start_i': int_to_ip(start, start_ip_type), 'end_i': int_to_ip(end, end_ip_type), 'rusage': rusage, 'translate_ip': translate_ip })
def build_range_qsets(range_): try: start, end = range_.split(",") except ValueError: raise BadDirective("Specify a range using the format: start,end") start_ip_type, _ = resolve_ip_type(start) end_ip_type, _ = resolve_ip_type(end) if start_ip_type != end_ip_type or not start_ip_type or not end_ip_type: raise BadDirective("Couldn not resolve IP type of {0} and " "{1}".format(start, end)) try: istart, iend, ipf_q = start_end_filter(start, end, start_ip_type) except (ValidationError, ipaddr.AddressValueError), e: raise BadDirective(str(e))
def build_range_qsets(range_): try: start, end = range_.split(',') except ValueError: raise BadDirective("Specify a range using the format: start,end") start_ip_type, _ = resolve_ip_type(start) end_ip_type, _ = resolve_ip_type(end) if start_ip_type != end_ip_type or not start_ip_type or not end_ip_type: raise BadDirective("Couldn not resolve IP type of {0} and " "{1}".format(start, end)) try: istart, iend, ipf_q = start_end_filter(start, end, start_ip_type) except (ValidationError, ipaddr.AddressValueError), e: raise BadDirective(str(e))
def build_network_qsets(network_str): ip_type, Klass = resolve_ip_type(network_str) try: network = Klass(network_str) ipf = IPFilter(network.network, network.broadcast, ip_type) except (ipaddr.AddressValueError, ipaddr.NetmaskValueError): raise BadDirective("{0} isn't a valid network.".format(network_str)) return build_ipf_qsets(ipf.Q)
def build_ip_qsets(ip_str): ip_type, Klass = resolve_ip_type(ip_str) try: ip = Klass(ip_str) ip_upper, ip_lower = one_to_two(int(ip)) except (ipaddr.AddressValueError): raise BadDirective("{0} isn't a valid " "IP address.".format(ip_str)) return build_ipf_qsets(Q(ip_upper=ip_upper, ip_lower=ip_lower))
def build_ip_qsets(ip_str): """ Possible objects returned: * A/PTR/SREG * Network * Vlan * Site """ ip_type, Klass = resolve_ip_type(ip_str) NetworkCls = ipaddr.IPv4Network if ip_type == "4" else ipaddr.IPv6Network try: ip = NetworkCls(ip_str).network network_str = str(NetworkCls(ip_str)) except ipaddr.AddressValueError: raise BadDirective("{0} isn't a valid " "IP address.".format(ip_str)) except ipaddr.NetmaskValueError, e: raise BadDirective("The netmask '{0}' doesn't make any sense.".format(e))
def build_ip_qsets(ip_str): """ Possible objects returned: * A/PTR/SREG * Network * Vlan * Site """ ip_type, Klass = resolve_ip_type(ip_str) NetworkCls = ipaddr.IPv4Network if ip_type == '4' else ipaddr.IPv6Network try: ip = NetworkCls(ip_str).network network_str = str(NetworkCls(ip_str)) except ipaddr.AddressValueError: raise BadDirective("{0} isn't a valid " "IP address.".format(ip_str)) except ipaddr.NetmaskValueError, e: raise BadDirective( "The netmask '{0}' doesn't make any sense.".format(e))
def ip_to_range(ip): """Attempt to map an IP into a range""" ip_type = resolve_ip_type(ip) ip_upper, ip_lower = one_to_two(ip_to_int(ip, ip_type[0])) # If it's within the uppers, it's definitely within the lowers upper_q = Q( ~Q(start_upper=F('end_upper')), start_upper__lte=ip_upper, end_upper__gte=ip_upper ) # If the uppers match, look in the lowers lower_q = Q( Q(start_upper=F('end_upper')), start_lower__lte=ip_lower, end_lower__gte=ip_lower ) try: return Range.objects.get(upper_q | lower_q) except Range.DoesNotExist: pass
def clean(self, *args, **kwargs): self.instance.ip_type = resolve_ip_type(self.cleaned_data['ip_str'])[0] self.instance.label, self.instance.domain = ensure_label_domain( self.cleaned_data['fqdn'] ) return super(StaticRegAutoForm, self).clean(*args, **kwargs)