%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/lib/python3.9/site-packages/tracer/resources/__pycache__/
Upload File :
Create Path :
Current File : //usr/lib/python3.9/site-packages/tracer/resources/__pycache__/system.cpython-39.opt-1.pyc

a

"e��@slddlmZddlZddlZddlZddlZddlZddlmZddl	m
Z
ddlmZGdd�de
�ZdS)�)�absolute_importN)�version_info)�PackageManager)�Processc@sleZdZedd��Zedd��Zedd��Zedd��Zed	d
��Zedd��Z	ed
d��Z
edd��ZdS)�SystemcCstj�d�r�td���}i}gd�}dd�|D�}|D] }|�d�\}}|�d�||<q4|d|vr�|ddkr�|d	d
kr�Wd�dS|dWd�Sd
|vr�|d
��D]"}||vr�|Wd�Sq�Wd�n1s�0Ynt��SdS)z�
		Checks if /etc/os-release exists, and if it does, uses it to divine the name of the distribution or
		distribution like. e.g It will return 'debian' on Ubuntu systems.
		Otherwise, revert to using distro.id()
		z/etc/os-release)
�gentoo�debian�rhel�centos�ol�mageia�arch�archarm�fedora�susecSsg|]}|��r|���qS�)�rstrip)�.0�linerr�;/usr/lib/python3.9/site-packages/tracer/resources/system.py�
<listcomp>0�z'System.distribution.<locals>.<listcomp>�=�"ZIDr
Z
VERSION_ID�N�centos-7ZID_LIKE)�os�path�isfile�open�split�strip�distro�id)Zos_release_fileZos_release_dataZdistros�linesrZos_release_keyZos_release_value�distributionrrrr%#s"
8zSystem.distributioncsp�fdd�}dgdgddgddgdgddgdgdgdgddgdgd�}t��}||vrZd	Sttt|||���S)
zMReturns instance of package manager according to installed linux distributioncs&|\}}t�|�}t||�fi���S�N)�	importlib�
import_module�getattr)Zpairr�name�module��kwargsrr�get_instanceEs
z,System.package_manager.<locals>.get_instance)ztracer.packageManagers.portageZPortage)ztracer.packageManagers.dpkgZDpkg)ztracer.packageManagers.dnfZDnf)ztracer.packageManagers.yumZYum)ztracer.packageManagers.alpmZAlpm)rrr	r
rrrr
rrrN)rr%r�list�map)r-r.Zmanagersr%rr,r�package_managerAs2�����zSystem.package_managercCstd�}|���d�d}|S)zM
		Returns name of init system you are using
		e.g. init, systemd, upstart
		�� r)rr*r )�initr*rrr�init_systemkszSystem.init_systemcCs*z
t��WSty$t��YS0dSr&)�psutil�	boot_time�AttributeErrorZ
get_boot_timerrrrr7vszSystem.boot_timecCsd�tjtjtj�S)Nz{}.{}.{})�formatr�major�minor�microrrrr�python_version|szSystem.python_versioncCst���t��t��d�S)N�)rr1Zfind_package�kernel_package_namer�unamerrrr�running_kernel_package�szSystem.running_kernel_packagecCsdS)z6 TODO: infer kernel package from current distribution Zkernelrrrrrr?�szSystem.kernel_package_namecCs4z
t��WSty.t�t���dYS0dS)Nr)r�getlogin�OSError�pwd�getpwuid�getuidrrrr�user�szSystem.userN)�__name__�
__module__�__qualname__�staticmethodr%r1r5r7r=rAr?rGrrrrr!s 

)





r)Z
__future__rrrDr'r"r6�sysrZtracer.resources.PackageManagerrZtracer.resources.processesr�objectrrrrr�<module>s

Zerion Mini Shell 1.0