관리-도구
편집 파일: 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'