관리-도구
편집 파일: 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'���r(���)r ���Zpackage1Zpackage2r���r���r����compare_packagesY���s����zAlpm.compare_packagesc�����������������C���s0���t��|�|�}|t|��kr(|�|�|kr(dS�dS�dS�)z5 Searches a sorted list, returns True if found TFN)�bisectZbisect_left�len)�l�item�ir���r���r���� _bsearch_listb���s����zAlpm._bsearch_listc�����������������C���sH���|�j�jD�]:}dd��|jD��}|��||dd���rt|j|j���S�qdS�)z9 Returns name of package which provides given file c�����������������S���s���g�|�]}|d���qS�)r���r���r���r���r���r���r���s���r���z*Alpm._file_provided_by.<locals>.<listcomp>r���N)r���r���r���r0���r���r���r���)r ���� file_namer���r���r���r���r���r%���m���s ����zAlpm._file_provided_byN) �__name__� __module__�__qualname__r���r���r!���r$���r&���r)���r*����staticmethodr0���r%���r���r���r���r���r ������s��� r ���)Z __future__r���Ztracer.resources.systemr���Zdistributionr+���ZipackageManagerr���Ztracer.resources.packager���Ztracer.resources.collectionsr���Ztracer.resources.applicationsr���r���r ���r���r���r���r����<module>���s���