Anons79 Mini Shell

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

�
�Udac@`spddlmZmZmZeZddlZddlZddlZddl	m
Z
de
fd��YZdS(i(tabsolute_importtdivisiontprint_functionN(tNetworktGenericBsdIfconfigNetworkcB`s�eZdZdZdd�Zd�Zd�Zdd�Zd�Z	d�Z
d	�Zd
�Zd�Z
d�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�ZRS(s-
    This is a generic BSD subclass of Network using the ifconfig command.
    It defines
    - interfaces (a list of interface names)
    - interface_<name> dictionary of ipv4, ipv6, and mac address information.
    - all_ipv4_addresses and all_ipv6_addresses: lists of all configured addresses.
    tGeneric_BSD_Ifconfigc
C`si}|jjd�}|dkr(|S|jjd�}|dkrJ|S|j|�\}}|j|�\}}|j|�}|j||d�|j||d�tt|j	���|d<x|D]}	||	||	<q�W||d<||d<|d|d<|d	|d	<|S(
Ntifconfigtroutetipv4tipv6t
interfacestdefault_ipv4tdefault_ipv6tall_ipv4_addressestall_ipv6_addresses(
tmoduletget_bin_pathtNonetget_default_interfacestget_interfaces_infotdetect_type_mediatmerge_default_interfacetsortedtlisttkeys(
tselftcollected_factst
network_factst
ifconfig_patht
route_pathRRR
tipstiface((sR/usr/lib/python2.7/site-packages/ansible/module_utils/facts/network/generic_bsd.pytpopulate$s(


cC`sSxL|D]D}d||krd||dj�krKd||d<qKqqW|S(Ntmediatetherttype(tlower(RR
R((sR/usr/lib/python2.7/site-packages/ansible/module_utils/facts/network/generic_bsd.pyRBs

c
	C`s1td|dddgd|ddddg�}tdidi�}x�dD]�}|dkrntjrnqLn|jj||�\}}}|s�qLnx|j�D]q}|j�}	t|	�dkr�|	d	d
kr�|	d||d<n|	d	dkr|	d||d
<qq�q�WqLW|d|dfS(Ntv4s-ntgets8.8.8.8tv6s-inet6s2404:6800:400a:800::1012iis
interface:t	interfacesgateway:tgateway(R%R'(tdicttsocketthas_ipv6Rtrun_commandt
splitlinestsplittlen(
RRtcommandR(tvtrctoutterrtlinetwords((sR/usr/lib/python2.7/site-packages/ansible/module_utils/facts/network/generic_bsd.pyRIs"
 s-acC`s>i}i}tdgdg�}|jj||g�\}}}x�|j�D]�}	|	rO|	j�}
|
ddkr}qOq0tjd|	�r�t|
�dkr�|j|
�}|||d<q0|
dj	d�r�|j
|
||�q0|
dd	kr|j|
||�q0|
dd
kr6|j|
||�q0|
ddkr\|j
|
||�q0|
ddkr�|j|
||�q0|
dd
kr�|j|
||�q0|
ddkr�|j|
||�q0|
ddkr�|j|
||�q0|
ddkr|j|
||�q0|j|
||�qOqOW||fS(NR
Ritpasss^\Sitdevicesoptions=tnd6R"smedia:sstatus:tlladdrtinettinet6ttunnel(R*RR-R.R/tretmatchR0tparse_interface_linet
startswithtparse_options_linetparse_nd6_linetparse_ether_linetparse_media_linetparse_status_linetparse_lladdr_linetparse_inet_linetparse_inet6_linetparse_tunnel_linetparse_unknown_line(RRtifconfig_optionsR
t
current_ifRR3R4R5R6R7((sR/usr/lib/python2.7/site-packages/ansible/module_utils/facts/network/generic_bsd.pyRisD	!$cC`s�|ddd!}i|d6gd6gd6dd6}|j|d�|d	<d
|d	krgd|d<nd|d<t|�d
kr�|d|d<|d
|d<n|d|d<|S(Nii����R9RR	tunknownR#itflagstLOOPBACKtloopbackt
macaddressiitmetrictmtu(tget_optionsR0(RR7R9RN((sR/usr/lib/python2.7/site-packages/ansible/module_utils/facts/network/generic_bsd.pyRA�s"

cC`s|j|d�|d<dS(Nitoptions(RV(RR7RNR((sR/usr/lib/python2.7/site-packages/ansible/module_utils/facts/network/generic_bsd.pyRC�scC`s|j|d�|d<dS(NiRW(RV(RR7RNR((sR/usr/lib/python2.7/site-packages/ansible/module_utils/facts/network/generic_bsd.pyRD�scC`s|d|d<d|d<dS(NiRSR"R#((RR7RNR((sR/usr/lib/python2.7/site-packages/ansible/module_utils/facts/network/generic_bsd.pyRE�scC`s�|d|d<t|�dkr1|d|d<nt|�dkrX|dd|d<nt|�dkr�|j|d�|d<ndS(	NiR!itmedia_selectit
media_typeit
media_options(R0RV(RR7RNR((sR/usr/lib/python2.7/site-packages/ansible/module_utils/facts/network/generic_bsd.pyRF�scC`s|d|d<dS(Nitstatus((RR7RNR((sR/usr/lib/python2.7/site-packages/ansible/module_utils/facts/network/generic_bsd.pyRG�scC`s|d|d<dS(NiR;((RR7RNR((sR/usr/lib/python2.7/site-packages/ansible/module_utils/facts/network/generic_bsd.pyRH�sc
C`sZ|ddkr|d=ni|dd6}d|dkr�|djd�\}}||d<t|�}ddt|�?}tjtjd|��|d<t|�dkrW|d	|d
<qWn�tjd|d	�rt|d	�dkrd
|d	|d	<n|d	j	d
�rItjtjdt|d	dd���|d<n|d	|d<tj
dtj|d��d}	tj
dtj|d��d}tjtjd|	|@��|d<d
|krt|�dkr�|d|d
<qtjtjd|	|d@B��|d
<n|dj	d�sE|dj|d�n|dj|�dS(Nitaliastaddresst/i s!Ltnetmaskiit	broadcasts
([0-9a-f]){8}it0xtbaseiitnetworkI����s127.R
RII(
R/tintR+t	inet_ntoatstructtpackR0R?R@RBtunpackt	inet_atontappend(
RR7RNRR]t
ip_addresst	cidr_masktnetmask_lengthtnetmask_bintaddress_bin((sR/usr/lib/python2.7/site-packages/ansible/module_utils/facts/network/generic_bsd.pyRI�s4

,2###+cC`s&i|dd6}d|dkrt|djd�\}}||d<||d<t|�dkr�|d|d<q�nft|�dkr�|dd	kr�|d
|d<nt|�dkr�|ddkr�|d|d<nd
ddg}|d|kr|dj|d�n|dj|�dS(NiR]R^tprefixitscopeiit	prefixleniitscopeids::1s::1/128sfe80::1%lo0RR	(R/R0Rj(RR7RNRR]RkRlt
localhost6((sR/usr/lib/python2.7/site-packages/ansible/module_utils/facts/network/generic_bsd.pyRJ�s

""cC`sd|d<dS(NR>R#((RR7RNR((sR/usr/lib/python2.7/site-packages/ansible/module_utils/facts/network/generic_bsd.pyRK	scC`sdS(N((RR7RNR((sR/usr/lib/python2.7/site-packages/ansible/module_utils/facts/network/generic_bsd.pyRLscC`sl|jd�d}|jd�}|dkrd|dkrd||dkrd|||!}|jd�SgSdS(Nt<it>it,(tfindtrfindR/(Rt
option_stringtstarttendt
option_csv((sR/usr/lib/python2.7/site-packages/ansible/module_utils/facts/network/generic_bsd.pyRVs(

cC`s�d|krdS|d|kr$dS||d}x7|D]/}|dkr9|dkr9||||<q9q9Wt||�dkr�x/||dD]}||d|||<q�WndS(NR(RR	i(R0(RtdefaultsR
tip_typetifinfotitem((sR/usr/lib/python2.7/site-packages/ansible/module_utils/facts/network/generic_bsd.pyRs
N(t__name__t
__module__t__doc__tplatformRR RRRRARCRDRERFRGRHRIRJRKRLRVR(((sR/usr/lib/python2.7/site-packages/ansible/module_utils/facts/network/generic_bsd.pyRs&		 -					
			0					(t
__future__RRRR#t
__metaclass__R?R+Rft'ansible.module_utils.facts.network.baseRR(((sR/usr/lib/python2.7/site-packages/ansible/module_utils/facts/network/generic_bsd.pyt<module>s

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