Repository URL to install this package:
Version:
3.4.37 ▾
|
ó ®EYc @ sy d Z d d l m Z d d l m Z m Z d d l m Z m Z m Z d Z d Z d Z d Z d Z d S( s Routines for dealing with nmap-style IPv4 address ranges. Based on nmap's Target Specification :- http://nmap.org/book/man-target-specification.html iÿÿÿÿ( t AddrFormatError( t IPAddresst IPNetwork( t _iter_ranget _is_strt _iter_nextc C sg t } xQ| j d D]@} d | k r| j d d \ } } | sR d } n | sa d } n t | } t | } d | k o d k n o® d | k o¬ d k n sÄ t d | n | | k rã t d | n xs t | | d D] } | j | q÷ Wq t | } d | k o4d k n sLt d | n | j | q Wt | S( Nt ,t -i i iÿ s! octet value overflow for spec %s!s' left side of hyphen must be <= right %r( t sett splitt intt ValueErrorR t addt sorted( t spect valuest elementt leftt rightt lowt hight octet( ( sD /home/tvault/.virtenv/lib/python2.7/site-packages/netaddr/ip/nmap.pyt _nmap_octet_target_values s* 8c C s¦ t | s% t d t | n | s: t d n | j d } t | d k rn t d | n t | d t | d t | d t | d f S( Ns string expected, not %ss* nmap target specification cannot be blank!t .i s invalid nmap range: %si i i i ( R t TypeErrort typeR R t lenR R ( t nmap_target_spect tokens( ( sD /home/tvault/.virtenv/lib/python2.7/site-packages/netaddr/ip/nmap.pyt _generate_nmap_octet_ranges0 s c c s8 d | k r | j d d \ } } d t | k oA d k n sY t d | n t | } | j d k r t d n x® | D] } | Vq Wn d | k r¶ t | Vn~ t | } xo | d D]c } xZ | d D]N } xE | d D]9 } x0 | d D]$ } t d | | | | f d Vq Wqï WqÞ WqÍ Wd S( Nt /i i i! s CIDR prefix expected, not %si s CIDR only support for IPv4!t :i i s %d.%d.%d.%d( R R R R t versionR R ( t target_spect _t prefixt nett ipt octet_rangest wt xt yt z( ( sD /home/tvault/.virtenv/lib/python2.7/site-packages/netaddr/ip/nmap.pyt _parse_nmap_target_specD s" " c C s9 y t t | t SWn t t t f k r4 n Xt S( s :param target_spec: an nmap-style IP range target specification. :return: ``True`` if IP range target spec is valid, ``False`` otherwise. ( R R+ t TrueR R R t False( R! ( ( sD /home/tvault/.virtenv/lib/python2.7/site-packages/netaddr/ip/nmap.pyt valid_nmap_rangeZ s c g s1 x* | D]" } x t | D] } | Vq Wq Wd S( sV An generator that yields IPAddress objects from defined by nmap target specifications. See https://nmap.org/book/man-target-specification.html for details. :param *nmap_target_spec: one or more nmap IP range target specification. :return: an iterator producing IPAddress objects for each IP in the target spec(s). N( R+ ( R R! t addr( ( sD /home/tvault/.virtenv/lib/python2.7/site-packages/netaddr/ip/nmap.pyt iter_nmap_rangeh s N( t __doc__t netaddr.coreR t netaddr.ipR R t netaddr.compatR R R R R R+ R. R0 ( ( ( sD /home/tvault/.virtenv/lib/python2.7/site-packages/netaddr/ip/nmap.pyt <module> s