HEX
Server: Apache
System: Linux server-634962.emtiyz.com 5.14.0-611.11.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Dec 3 09:47:37 EST 2025 x86_64
User: codo66ho (1003)
PHP: 8.2.30
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //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