%PDF- %PDF-
| Direktori : /usr/lib/python3.9/site-packages/tracer/packageManagers/__pycache__/ |
| Current File : //usr/lib/python3.9/site-packages/tracer/packageManagers/__pycache__/rpm.cpython-39.opt-1.pyc |
a
"e� � @ s� d dl mZ d dlmZ e�� dv r�d dlmZ ddlmZ d dl m
Z
d dlmZ d d l
mZmZ d d
lmZ d dlZd dlZd dlZG dd
� d
e�ZdS )� )�absolute_import)�System)ZfedoraZrhelZcentoszcentos-7ZmageiaZol)�listdir� )�IPackageManager)�Package)�PackagesCollection)�LockedDatabase�DatabasePermissions)�PY3Nc @ st e Zd ZdZdd� Zedd� �Zdd� Zdd � Zd
d� Z dd
� Z
dd� Zdd� Zdd� Z
dd� Zdd� Zdd� ZdS )�Rpmz!
Package manager class - RPM
c K s
|| _ d S �N)�opts)�self�kwargs� r �>/usr/lib/python3.9/site-packages/tracer/packageManagers/rpm.py�__init__* s zRpm.__init__c C s t S r
)�NotImplemented)r r r r �history_path- s zRpm.history_pathc
C s� t j�| j�stg �S | j�d�r(d}nd}zbt� }| �� }t� |�}tj
|_|�� }|�
||g� |�� D ]}|�t|d |d �� ql|W S tjy� } z$t|�dkr�t� nt� �W Y d}~n
d}~0 0 dS )zp
Returns list of packages which were modified between unix_time and present
Requires root permissions.
�modern_swdbz�
SELECT DISTINCT rpm.name, trans.dt_end AS end
FROM trans JOIN trans_item JOIN rpm
ON trans.id=trans_item.trans_id
AND trans_item.item_id=rpm.item_id
WHERE trans.dt_begin > ?
ORDER BY rpm.name
aJ
SELECT DISTINCT pkgtups.name, trans_end.timestamp AS end
FROM trans_beg JOIN trans_end JOIN trans_data_pkgs JOIN pkgtups
ON trans_beg.tid=trans_end.tid
AND trans_data_pkgs.tid=trans_beg.tid
AND trans_data_pkgs.pkgtupid=pkgtups.pkgtupid
WHERE trans_beg.timestamp > ?
ORDER BY pkgtups.name
�name�endzdatabase is lockedN)�os�path�existsr r r �get�_database_file�sqlite3ZconnectZRowZrow_factory�cursorZexecuteZfetchall�appendr ZOperationalError�strr r
) r Z unix_timeZsql�packagesZsqliteZconnr �result�er r r �packages_newer_than0 s"