Repository URL to install this package:
Version:
3.4.50 ▾
|
ó ®EYc @ s d Z d d l Z d d l m Z m Z m Z m Z m Z m Z d d l m Z m Z m Z d Z d Z d e f d YZ d S( s2 Set based operations for IP addresses and subnets.iÿÿÿÿN( t IPNetworkt IPAddresst IPRanget cidr_merget cidr_excludet iprange_to_cidrs( t _sys_maxintt _dict_keyst _int_typec C s | j j } | | } | j | j k rK | j | | j | j d f n | d 7} | } x} | t | k rÚ | | } | | k r Pn | j d | j k r£ n$ | j | | j d | j d f | d 7} | } q^ W| j d } | j } | | k r| j | | | f n | S( s® Calculate IPSet([supernet]) - IPSet(subnets). Assumptions: subnets is sorted, subnet_idx points to the first element in subnets that is a subnet of supernet. Results are appended to the ranges parameter as tuples of in format (version, first, last). Return value is the first subnet_idx that does not point to a subnet of supernet (or len(subnets) if all subsequents items are a subnet of supernet). i ( t _modulet versiont firstt appendt lent last( t supernett subnetst subnet_idxt rangesR t subnett prev_subnett cur_subnetR R ( ( sD /home/tvault/.virtenv/lib/python2.7/site-packages/netaddr/ip/sets.pyt _subtract s( # $ c c s³ | s d S| d \ } } } xr | d D]f \ } } } | | d k r_ | | k r_ | } q( n t | | t | | f V| } | } | } q( Wt | | t | | f Vd S( sq Iterate over sorted_ranges, merging where possible Sorted ranges must be a sorted iterable of (version, first, last) tuples. Merging occurs for pairs like [(4, 10, 42), (4, 43, 100)] which is merged into (4, 10, 100), and leads to return value ( IPAddress(10, 4), IPAddress(100, 4) ), which is suitable input for the iprange_to_cidrs function. Ni i ( R ( t sorted_rangest current_versiont current_startt current_stopt next_versiont next_startt next_stop( ( sD /home/tvault/.virtenv/lib/python2.7/site-packages/netaddr/ip/sets.pyt _iter_merged_ranges8 s t IPSetc B s e Z d Z d$ Z d% d d Z d Z d Z d Z d Z d Z d Z d Z e Z d Z d Z d d Z d d Z d Z d Z d Z d d Z d Z d Z d Z d Z d Z e Z d Z d Z e Z d Z e Z d Z! e! Z" d Z# e# Z$ d Z% e% Z&