Sindbad~EG File Manager
3
"e� � @ s� d dl mZ d dlmZ ej� dkr�d d lmZ d
dlmZ d dl m
Z
d d
lmZ d dl
mZmZ d dlmZ d dlZd dlZd dlZG dd� de�ZdS )� )�absolute_import)�System�fedora�rhel�centos�centos-7�mageia�ol)�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.6/rpm.py�__init__* s zRpm.__init__c C s t S )N)�NotImplemented)r r r r �history_path- s zRpm.history_pathc C s� t jj| j�stg �S | jjd�r(d}nd}ydt� }| j� }tj |�}tj
|_|j� }|j
||g� x(|j� D ]}|jt|d |d �� qnW |S tjk
r� } zt|�dkr�t� nt� �W Y dd}~X nX 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"