%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /lib/python3.9/site-packages/ansible/module_utils/common/__pycache__/
Upload File :
Create Path :
Current File : //lib/python3.9/site-packages/ansible/module_utils/common/__pycache__/network.cpython-39.pyc

a

�)g��@s�ddlmZmZmZeZddlZddlmZddl	m
Z
ddlmZdd�e
dd�D�Zd	d
�Zdd�Zd
d�Zdd�Zddd�Zdd�Zdd�Zdd�Zdd�ZdS)�)�absolute_import�division�print_functionN)�pack)�	inet_ntoa)�zipcCsg|]}dd|�qS)���)�.0�ir
r
�G/usr/lib/python3.9/site-packages/ansible/module_utils/common/network.py�
<listcomp>�r�	c	CsXt|��d�}t|�dksdS|D]0}zt|�tvr8t�Wq"tyPYdS0q"dS)N�.�FT)�str�split�len�int�VALID_MASKS�
ValueError)�val�parts�partr
r
r
�
is_netmasksrcCs8zdt|�kodknWSty2YdS0dS)Nr� F)rr)rr
r
r
�
is_masklen srcCsFt|�std��d}tdt|�d�D]}|d|>O}q&ttd|��S)z! converts a masklen to a netmask zinvalid value for masklenrr�z>I)rr�rangerrr)r�bitsrr
r
r
�
to_netmask'sr"cCsNt|�std|��t�}|�d�D] }tt|���d�}|�|�q$t|�S)z! converts a netmask to a masklen zinvalid value for netmask: %sr�1)	rr�listr�binr�count�append�sum)rr!�x�octetr
r
r
�
to_masklen3sr+FcCs�z t|�st�t|�}t|�}Wnty:t|�}Yn0|�d�}|�d�}t�}t||�D]"\}}|�t	t|�t|�@��q`|r�dd�
|�t|�fSdd�
|�|fS)z: coverts an addr / mask pair to a subnet in cidr notation rz%s %sz%s/%s)rrrr"r+rr$rr'r�join)�addr�maskZdotted_notationZcidr�networkZs_addrZs_maskr
r
r
�	to_subnet@s

r0cCs�|�d�d}g}|�d�D]}|�|�t|�dkrq<qt|�dkrR|�d�d}|D]$}|dkrr|t|�7}|td�7}qZ|�d�s�|td�7}|S)ze IPv6 addresses are eight groupings. The first four groupings (64 bits) comprise the subnet address. �::r�:r��rr'rr�endswith�r-Zipv6_prefixZfound_groups�groupZnetwork_addrr
r
r
�to_ipv6_subnetVs 


r8cCs�|�d�d}g}|�d�D]}|�|�t|�dkrq<qt|�dkrR|�d�d}|D]$}|dkrr|t|�7}|td�7}qZ|�d�s�|td�7}|S)zg IPv6 addresses are eight groupings. The first three groupings (48 bits) comprise the network address. r1rr2�r3r4r6r
r
r
�to_ipv6_networkts 


r:cCs6d}|�d�D]"}|tt|��dd��d�7}q|S)z converts a netmask to bits r3rr	N�)rr%r�zfill)rr!r*r
r
r
�to_bits�s r=cCst�d�}t|�|����S)z�
    Validate MAC address for given string
    Args:
        mac_address: string to validate as MAC address

    Returns: (Boolean) True if string is valid MAC address, otherwise False
    z/[0-9a-f]{2}([-:])[0-9a-f]{2}(\1[0-9a-f]{2}){4}$)�re�compile�bool�match�lower)Zmac_addressZmac_addr_regexr
r
r
�is_mac�s
rC)F)Z
__future__rrr�typeZ
__metaclass__r>�structrZsocketrZansible.module_utils.six.movesrr rrrr"r+r0r8r:r=rCr
r
r
r
�<module>s



Zerion Mini Shell 1.0