%PDF- %PDF-
| Direktori : /usr/lib/python3.9/site-packages/tracer/packageManagers/__pycache__/ |
| Current File : //usr/lib/python3.9/site-packages/tracer/packageManagers/__pycache__/alpm.cpython-39.pyc |
a
"eJ
� @ sx d dl mZ d dlmZ e�� dv rtd dlZddlmZ d dlm Z d dl
mZ d d lm
Z
d dlZG d
d� de�ZdS )� )�absolute_import)�System)ZarchZarcharmN� )�IPackageManager)�Package)�PackagesCollection)�Applicationsc @ sX e Zd Zdd� Zdd� Zdd� Zdd� Zd d
� Zdd� Zd
d� Z e
dd� �Zdd� ZdS )�Alpmc O s$ || _ t�dd�| _| j�� | _d S )N�/z/var/lib/pacman)Zopts�pyalpmZHandleZhandleZget_localdb�db)�self�args�kwargs� r �?/usr/lib/python3.9/site-packages/tracer/packageManagers/alpm.py�__init__ s z
Alpm.__init__c C s6 t � }| jjD ]"}|j|kr|�t|j|j�� q|S )zR
Returns list of packages which were modified between unix_time and present
)r r �pkgcache�installdate�appendr �name)r
Z unix_timeZnew_pkgs�pkgr r r �packages_newer_than% s
zAlpm.packages_newer_thanc C s$ | j �|�}|sg S dd� |jD �S )z1
Returns list of files provided by package
c S s g | ]}d |d �qS )r
r r ��.0�fr r r �
<listcomp>8 � z&Alpm.package_files.<locals>.<listcomp>)r �get_pkg�files)r
�pkg_namer r r r �
package_files0 s zAlpm.package_filesc C s2 |sdS | j �|j�}|sdS |j|_|j|_dS )zN
From database load informations about given package and set them to it
N)r r r Zdesc�descriptionr Zmodified)r
�packager r r r �load_package_info: s zAlpm.load_package_infoc C s |j d }| �|j�S )z@
Returns name of package which provides given application
r )Z instances�_file_provided_byZexe)r
ZappZprocessr r r �provided_byI s
zAlpm.provided_byc C s* | j �|�}|r&t�|j|�dkr&|S dS )z<
Find a package by name and some other input criteria
r N)r r r �vercmp�version)r
r r( r r r r �find_packageQ s zAlpm.find_packagec C s t �|j|j�S )zX
vercmp returns:
< 0 if ver1 < ver2
0 if ver1 == ver2
> 0 if ver1 > ver2
)r r'