HEX
Server: Apache
System: Linux insrv.serversdaddy.com 5.14.0-362.24.2.el9_3.x86_64 #1 SMP PREEMPT_DYNAMIC Sat Mar 30 14:11:54 EDT 2024 x86_64
User: jsaha (1066)
PHP: 8.3.6
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //usr/lib/python3.9/site-packages/tracer/resources/__pycache__/system.cpython-39.pyc
a

�|
`.�@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)�SystemcCs�tj�d�r�td���}i}gd�}dd�|D�}|D] }|�d�\}}|�d�||<q4|d|vrx|dWd�Sd	|vr�|d	��D]"}||vr�|Wd�Sq�Wd�q�1s�0Yntjd
d�d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 platform.linux_distribution()
		z/etc/os-release�	ZgentooZdebianZrhelZcentosZolZmageiaZarchZarcharmZfedoracSsg|]}|��r|���qS�)�rstrip)�.0�linerr�;/usr/lib/python3.9/site-packages/tracer/resources/system.py�
<listcomp>0�z'System.distribution.<locals>.<listcomp>�=�"ZIDNZID_LIKEF)Zfull_distribution_namer)�os�path�isfile�open�split�strip�platformZlinux_distribution)Zos_release_fileZos_release_dataZdistros�linesrZos_release_keyZos_release_value�distrorrr�distribution#s
8zSystem.distributionc
sd�fdd�}dgdgddgdgdgdgdgdgddgd�	}t��}||vrNd	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_instanceBs
z,System.package_manager.<locals>.get_instance)ztracer.packageManagers.portageZPortage)ztracer.packageManagers.dpkgZDpkg)ztracer.packageManagers.dnfZDnf)ztracer.packageManagers.yumZYum)ztracer.packageManagers.alpmZAlpmrN)rrr�list�map)r"r#Zmanagersrrr!r�package_manager>s&���zSystem.package_managercCstd�}|���d�d}|S)zM
		Returns name of init system you are using
		e.g. init, systemd, upstart
		�� r)rrr)�initrrrr�init_system`szSystem.init_systemcCs*z
t��WSty$t��YS0dSr)�psutil�	boot_time�AttributeErrorZ
get_boot_timerrrrr,kszSystem.boot_timecCsd�tjtjtj�S)Nz{}.{}.{})�formatr�major�minor�microrrrr�python_versionqszSystem.python_versioncCst���t��t��d�S)N�)rr&Zfind_package�kernel_package_namer�unamerrrr�running_kernel_packageuszSystem.running_kernel_packagecCsdS)z6 TODO: infer kernel package from current distribution Zkernelrrrrrr4yszSystem.kernel_package_namecCs4z
t��WSty.t�t���dYS0dS)Nr)r�getlogin�OSError�pwd�getpwuid�getuidrrrr�user~szSystem.userN)�__name__�
__module__�__qualname__�staticmethodrr&r*r,r2r6r4r<rrrrr!s 

!





r)Z
__future__rrr9rrr+�sysrZtracer.resources.PackageManagerrZtracer.resources.processesr�objectrrrrr�<module>s