Anons79 Mini Shell

Directory : /lib/python2.7/site-packages/ansible/module_utils/facts/hardware/
Upload File :
Current File : //lib/python2.7/site-packages/ansible/module_utils/facts/hardware/freebsd.pyo

�
�Udac@`s�ddlmZmZmZeZddlZddlZddlZddl	m
Z
mZddlm
Z
mZddlmZmZde
fd��YZdefd	��YZdS(
i(tabsolute_importtdivisiontprint_functionN(tHardwaretHardwareCollector(tTimeoutErrorttimeout(tget_file_contenttget_mount_sizetFreeBSDHardwarecB`s\eZdZdZdZd	d�Zd�Zd�Ze	�d��Z
d�Zd�ZRS(
s�
    FreeBSD-specific subclass of Hardware.  Defines memory and CPU facts:
    - memfree_mb
    - memtotal_mb
    - swapfree_mb
    - swaptotal_mb
    - processor (a list)
    - processor_cores
    - processor_count
    - devices
    tFreeBSDs/var/run/dmesg.bootcC`s�i}|j�}|j�}|j�}|j�}i}y|j�}Wntk
r_nX|j|�|j|�|j|�|j|�|j|�|S(N(t
get_cpu_factstget_memory_factst
get_dmi_factstget_device_factstget_mount_factsRtupdate(tselftcollected_factsthardware_factst	cpu_factstmemory_factst	dmi_factstdevice_factstmount_facts((sO/usr/lib/python2.7/site-packages/ansible/module_utils/facts/hardware/freebsd.pytpopulate,s 





c	C`s<i}g|d<|jjd�}|r`|jjd|dt�\}}}|j�|d<nttj�}|s�y1|jj|jjd�dt�\}}}Wq�tk
r�d}q�Xnxr|j	�D]d}d|krt
jd	d|�}|dj|j��nd
|kr�|j
�d|d<q�q�W|S(
Nt	processortsysctls
%s -n hw.ncputcheck_rctprocessor_counttdmesgtsCPU:sCPU:\s+sLogical CPUs per coreitprocessor_cores(tmoduletget_bin_pathtrun_commandtFalsetstripRR	t
DMESG_BOOTt	Exceptiont
splitlinestretsubtappendtsplit(	RRRtrctoutterrt
dmesg_boottlinetcpu((sO/usr/lib/python2.7/site-packages/ansible/module_utils/facts/hardware/freebsd.pyRBs&
%1

c
C`s�i}|jjd�}|r�|jjd|dt�\}}}x}|j�D]o}|j�}d|kr�t|d�}nd|kr�t|d�}	nd|krPt|d�}
qPqPW||	dd|d	<||
dd|d
<n|jjd�}|r�|jjd|�\}}}|j�}t|d
�dkrX|j�n|d
j�}|ddkr�t|d�d|d<t|d�d|d<q�n|S(NRs%s vm.statsRsvm.stats.vm.v_page_sizeisvm.stats.vm.v_page_countsvm.stats.vm.v_free_countitmemtotal_mbt
memfree_mbtswapinfos%s -ki����itDevicetswaptotal_mbitswapfree_mb(	R!R"R#R$R(R,tinttlentpop(
RRRR-R.R/R1tdatatpagesizet	pagecountt	freecountR5tlines((sO/usr/lib/python2.7/site-packages/ansible/module_utils/facts/hardware/freebsd.pyRZs2%
cC`s�i}g|d<td�}|r�x�|j�D]�}|jd�s/|j�dkr\q/ntjdd|�j�}t|d�}i|dd6|d	d
6|dd6|d
d6}|j|�|dj	|�q/Wn|S(Ntmountss
/etc/fstabt#Rs\s+t itmountitdeviceitfstypeitoptions(
RR(t
startswithR%R)R*R,RRR+(RRtfstabR1tfieldstmount_statvfs_infot
mount_info((sO/usr/lib/python2.7/site-packages/ansible/module_utils/facts/hardware/freebsd.pyR|s 
!
c	C`s�i}d}i|d<tjd�}tjd�}tjj|�r�ttj|��}x|D]t}|j|�}|r�g|d|jd�<n|j|�}|rb|d|jd�j	|jd��qbqbWn|S(Ns/devtdevicess(ada?\d+|da\d+|a?cd\d+)s(ada?\d+s\d+\w*|da\d+s\d+\w*)i(
R)tcompiletostpathtisdirtsortedtlistdirtmatchtgroupR+(	RRtsysdirtdrivestslicestdirlistREtdts((sO/usr/lib/python2.7/site-packages/ansible/module_utils/facts/hardware/freebsd.pyR�s

1c
C`s7i}|jjd�}tdddddddd	d
ddd
dddd�}x�|j�D]�\}}|dk	r%|jjd||f�\}}}|dkrdjg|j�D]}	|	jd�s�|	^q��||<yt	j
||�Wq"tk
rd||<q"Xq/d||<q^d||<q^W|S(sK learn dmi facts from system

        Use dmidecode executable if availablet	dmidecodet	bios_datesbios-release-datetbios_versionsbios-versiontform_factorschassis-typetproduct_namessystem-product-nametproduct_serialssystem-serial-numbertproduct_uuidssystem-uuidtproduct_versionssystem-versiont
system_vendorssystem-manufacturers%s -s %siRRBtNAN(R!R"tdicttitemstNoneR#tjoinR(RHtjsontdumpstUnicodeDecodeError(
RRtdmi_bintDMI_DICTtktvR-R.R/R1((sO/usr/lib/python2.7/site-packages/ansible/module_utils/facts/hardware/freebsd.pyR
�s.	%;

N(
t__name__t
__module__t__doc__tplatformR&RhRRRRRRR
(((sO/usr/lib/python2.7/site-packages/ansible/module_utils/facts/hardware/freebsd.pyR	s		"	tFreeBSDHardwareCollectorcB`seZeZdZRS(R
(RqRrR	t_fact_classt	_platform(((sO/usr/lib/python2.7/site-packages/ansible/module_utils/facts/hardware/freebsd.pyRu�s(t
__future__RRRttypet
__metaclass__RORjR)t(ansible.module_utils.facts.hardware.baseRRt"ansible.module_utils.facts.timeoutRRt ansible.module_utils.facts.utilsRRR	Ru(((sO/usr/lib/python2.7/site-packages/ansible/module_utils/facts/hardware/freebsd.pyt<module>s�

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