Sindbad~EG File Manager

Current Path : /lib/python3.6/site-packages/tracer/resources/__pycache__/
Upload File :
Current File : //lib/python3.6/site-packages/tracer/resources/__pycache__/system.cpython-36.opt-1.pyc

3

"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)�SystemcCs�tjjd�r�td���}i}dddddddd	d
dg
}dd
�|D�}x(|D] }|jd�\}}|jd�||<qFW|d|kr�|ddkr�|ddkr�dS|dSd|kr�x |dj�D]}||kr�|Sq�WWdQRXntj�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|]}|j�r|j��qS�)�rstrip)�.0�linerr�/usr/lib/python3.6/system.py�
<listcomp>0sz'System.distribution.<locals>.<listcomp>�=�"ZIDZ
VERSION_ID�zcentos-7ZID_LIKEN)�os�path�isfile�open�split�strip�distro�id)Zos_release_fileZos_release_dataZdistros�linesrZos_release_keyZos_release_value�distributionrrrr##s"

zSystem.distributioncsp�fdd�}dgdgddgddgdgddgdgdgdgddgdgd
�}tj�}||krZdSttt|||���S)zMReturns instance of package manager according to installed linux distributioncs"|\}}tj|�}t||�f��S)N)�	importlib�
import_module�getattr)Zpairr�name�module)�kwargsrr�get_instanceEs
z,System.package_manager.<locals>.get_instance�tracer.packageManagers.portage�Portage�tracer.packageManagers.dpkg�Dpkg�tracer.packageManagers.dnf�Dnf�tracer.packageManagers.yum�Yum�tracer.packageManagers.alpm�Alpm)rrr	r
zcentos-7rrr
rrrN)r+r,)r-r.)r/r0)r1r2)r/r0)r1r2)r1r2)r/r0)r1r2)r/r0)r3r4)r3r4)r/r0)r1r2)r/r0)rr#r�list�map)r)r*Zmanagersr#r)r)r�package_managerAs(
zSystem.package_managercCstd�}|j�jd�d}|S)zM
		Returns name of init system you are using
		e.g. init, systemd, upstart
		�� r)rr'r)Zinitr'rrr�init_systemkszSystem.init_systemcCs&ytj�Stk
r tj�SXdS)N)�psutil�	boot_time�AttributeErrorZ
get_boot_timerrrrr<vszSystem.boot_timecCsdjtjtjtj�S)Nz{}.{}.{})�formatr�major�minor�microrrrr�python_version|szSystem.python_versioncCstj�jtj�tj�d�S)N�)rr7Zfind_package�kernel_package_namer�unamerrrr�running_kernel_package�szSystem.running_kernel_packagecCsdS)z6 TODO: infer kernel package from current distribution ZkernelrrrrrrD�szSystem.kernel_package_namecCs0ytj�Stk
r*tjtj��dSXdS)Nr)r�getlogin�OSError�pwd�getpwuid�getuidrrrr�user�szSystem.userN)�__name__�
__module__�__qualname__�staticmethodr#r7r:r<rBrFrDrLrrrrr!s*r)Z
__future__rrrIr$r r;�sysrZtracer.resources.PackageManagerrZtracer.resources.processesr�objectrrrrr�<module>s

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists