Anons79 Mini Shell

Directory : /lib/python2.7/site-packages/ansible/module_utils/network/iosxr/utils/
Upload File :
Current File : //lib/python2.7/site-packages/ansible/module_utils/network/iosxr/utils/utils.pyc

�
�Udac@`s�ddlmZmZmZeZddlmZddlm	Z	m
Z
mZmZd�Z
d�Zd�Zd�Zd�Zd	�Zd
�Zd�Zd�Zd
�Zd�Zd�Zd�Zd�ZdS(i(tabsolute_importtdivisiontprint_function(t	iteritems(t	dict_difft
is_masklent
to_netmasktsearch_obj_in_listcC`s4||kr|jd|�n|jd|�|S(Nisno %s(tinserttappend(t	interfacetcmdtcommands((sR/usr/lib/python2.7/site-packages/ansible/module_utils/network/iosxr/utils/utils.pytremove_command_from_config_listscC`s0||kr|jd|�n|j|�dS(Ni(RR	(R
RR((sR/usr/lib/python2.7/site-packages/ansible/module_utils/network/iosxr/utils/utils.pytadd_command_to_config_listsc	C`s�i}t|t�r�xht|�D]Z\}}|dk	r"t|t�r�t|dt�r�g}xf|D]^}x<t|�D].\}}t|t�r|t|�||<q|q|W|jtt|���qiWt|�}qet|�}n|t|t�reg}x<t|�D].\}}t|t�rt|�||<qqW|jtt|���t|�}n|ji||6�q"q"Wt	tt|���}nt	|�}|S(Ni(
t
isinstancetdictRtNonetlistttupleR	textendtupdatetset(	tsample_dictt	test_dicttktvtliteachtkeytvaluet
return_set((sR/usr/lib/python2.7/site-packages/ansible/module_utils/network/iosxr/utils/utils.pytdict_to_sets2
cC`sLt�}t�}|jd�}|r4||d<nt}d}xt|�D]�\}}t|t�r�xlt|�D][\}	}
|
dkr�|j|�j|	�}|ji||	6�n|ji||6�quWnt|t�r�t|dt�r�xmt|d�D][\}	}
|
dkrQ|j|�j|	�}|ji||	6�n|ji||6�q
WxX|D]M}|jd�r_|jd�jd�}|jd�}
xg|
D]_}t	|�dkr�|jd�r�|jd�jd	�d}
|
|dkrt
}qq�q�W|jd�rH|t
krH|jit
d6�n|ji|d6�qp|jd�rpg|jd�D]}d|kr~t
^q~r�|jiit
d6d6�q�qpqpWn|d
kr|||jd
�kr|jd
�r|ji||6�qn|dkrM|j|�}|ji||6�qMqMW|S(Ntnametit	secondarytaddresst/tipv4it t
l2protocol(RtgettFalseRRRRRtsplittlentTrue(twantthaveRt
test_key_dictR!tdiff_iptwant_ipRRRRtdict_valRthave_ipt	each_havetval((sR/usr/lib/python2.7/site-packages/ansible/module_utils/network/iosxr/utils/utils.pytfilter_dict_having_none_value=sT		
"

!.((cC`sSg}xF|D]>}d|kr>||krK|j|�qKq
|j|�q
W|S(NR
(R	(Rtset_cmdR((sR/usr/lib/python2.7/site-packages/ansible/module_utils/network/iosxr/utils/utils.pytremove_duplicate_interfaceps
cC`sii}t|t�s|SxIt|�D];\}}t|t�rW|jt|��q&|||<q&W|S(N(RRRRtflatten_dict(txtresultRR((sR/usr/lib/python2.7/site-packages/ansible/module_utils/network/iosxr/utils/utils.pyR:}scC`s�t�}xs|D]k}t||t�r^t|||j|i��}|r{|||<q{q||kr||||<qqW|S(sa

    This function generates a dict containing key, value pairs for keys
    that are present in the `base` dict but not present in the `comparable`
    dict.

    :param base: dict object to base the diff on
    :param comparable: dict object to compare against base

    :returns: new dict object with key, value pairs that needs to be deleted.

    (RRtdict_deleteR)(tbaset
comparablet	to_deleteRtsub_diff((sR/usr/lib/python2.7/site-packages/ansible/module_utils/network/iosxr/utils/utils.pyR=�s
	
cC`s|jddj|��dS(Nis
interface {0}(Rtformat(RR
((sR/usr/lib/python2.7/site-packages/ansible/module_utils/network/iosxr/utils/utils.pytpad_commands�scC`s�|sg}n|sg}ng}xu|D]m}t|d|dd�pMi}t||�}|r+d|j�kr�|d|d<n|j|�q+q+W|S(sM
    Returns a list containing diff between
    two list of dictionaries
    tmemberR(RRtkeysR	(twthtdifftw_itemth_itemtd((sR/usr/lib/python2.7/site-packages/ansible/module_utils/network/iosxr/utils/utils.pytdiff_list_of_dicts�s		
cC`sz|rv|jd�}t|�dkrC|jddj|��nt|d�sv|jddj|d��qvndS(NR%itmsgs?address format is <ipv4 address>/<mask>, got invalid format {0}is9invalid value for mask: {0}, mask should be in range 0-32(R+R,t	fail_jsonRBR(RtmoduleR$((sR/usr/lib/python2.7/site-packages/ansible/module_utils/network/iosxr/utils/utils.pyt
validate_ipv4�scC`s�|r�|jd�}t|�dkrC|jddj|��q�dt|d�koddkns�|jddj|d��q�ndS(	NR%iRMs?address format is <ipv6 address>/<mask>, got invalid format {0}iii�s:invalid value for mask: {0}, mask should be in range 0-128(R+R,RNRBtint(RROR$((sR/usr/lib/python2.7/site-packages/ansible/module_utils/network/iosxr/utils/utils.pyt
validate_ipv6�s&cC`s�|jd�}t|jd��dkr.|St||�|jd�}t|�dkrdj|dt|d��}n|S(NR$R'iR%is{0} {1}i(R)R,R+RPRBR(ROR.tip_addr_wanttip((sR/usr/lib/python2.7/site-packages/ansible/module_utils/network/iosxr/utils/utils.pytvalidate_n_expand_ipv4�s
#cC`s�|s
dSd�}|j�jd�r1d}n|j�jd�rOd}n�|j�jd�rmd}n�|j�jd	�r�d
}n�|j�jd�r�d}n�|j�jd
�r�d}n~|j�jd�r�d}n`|j�jd�rd}nB|j�jd�r!d}n$|j�jd�r?d}nd}|jd�}t|�dkry|dj�}n||�}|r�||}n|}|S(s)Return the normalized interface name
    NcS`s@d}x3|D]+}|j�s+|dkr
||7}q
q
W|S(NR"s/.(tisdigit(R!tdigitstchar((sR/usr/lib/python2.7/site-packages/ansible/module_utils/network/iosxr/utils/utils.pyt_get_number�s

tgitGigabitEthernettfatFastEthernettfot	FortyGigEttetTenGigEttwetTwentyFiveGigEthutHundredGigEtvltVlantlotLoopbacktbesBundle-Ethertbps
Bundle-POSR'ii����(tlowert
startswithRR+R,tstrip(R!RYtif_typetnumber_listtnumbertproper_interface((sR/usr/lib/python2.7/site-packages/ansible/module_utils/network/iosxr/utils/utils.pytnormalize_interface�s@											
cC`s|j�jd�rdS|j�jd�r2dS|j�jd�rKdS|j�jd�rddS|j�jd	�r}d
S|j�jd�r�dS|j�jd
�r�dS|j�jd�r�dS|j�jd�r�dS|j�jd�r�dSdSdS(sGets the type of interface
    tGIR[tFAR]tFOR_tETtEthernettLORitBEsBundle-EthertNVtnvetTWERctHURetPREtpreconfiguretunknownN(tupperRm(R
((sR/usr/lib/python2.7/site-packages/ansible/module_utils/network/iosxr/utils/utils.pytget_interface_types*N(t
__future__RRRttypet
__metaclass__tansible.module_utils.sixRt)ansible.module_utils.network.common.utilsRRRRR
RR R7R9R:R=RCRLRPRRRURsR�(((sR/usr/lib/python2.7/site-packages/ansible/module_utils/network/iosxr/utils/utils.pyt<module>s""				3	
					
	
	
	2

Anons79 File Manager Version 1.0, Coded By Anons79
Email: [email protected]