%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /proc/227033/root/lib/python2.7/site-packages/salt/spm/pkgdb/
Upload File :
Create Path :
Current File : //proc/227033/root/lib/python2.7/site-packages/salt/spm/pkgdb/sqlite3.pyc

�
���^c@@s�dZddlmZmZmZddlZddlZddlZddlZddlm	Z	ddl
mZeje
�Zd�Zdd�Zdd�Zdd	�Zdd
�Zddd�Zdd
�Zddd�Zd�ZdS(un
This module allows SPM to use sqlite3 as the backend for SPM's package database.

.. versionadded:: 2015.8.0
i(tabsolute_importtprint_functiontunicode_literalsN(tOperationalError(tzipcC@s�tjjtd�s>tjdtd�tjtd�ntjjtd�sktjdtd�ntjt	�tj
tddd
�}y|jd�Wnt
k
r�|jd�nXy|jd�Wnt
k
r�|jd	�nX|S(uU
    Get an sqlite3 connection, and initialize the package database if necessary
    u
spm_cache_diru"Creating SPM cache directory at %suspm_dbu#Creating new package database at %stisolation_leveluSELECT count(*) FROM packagesu]CREATE TABLE packages (
            package text,
            version text,
            release text,
            installed text,
            os text,
            os_family text,
            dependencies text,
            os_dependencies text,
            os_family_dependencies text,
            summary text,
            description text
        )uSELECT count(*) FROM filesu@CREATE TABLE files (
            package text,
            path text,
            size real,
            mode text,
            sum text,
            major text,
            minor text,
            linkname text,
            linkpath text,
            uname text,
            gname text,
            mtime text
        )N(tostpathtexistst__opts__tlogtdebugtmakedirstsqlite3tenable_callback_tracebackstTruetconnecttNonetexecuteR(tconn((s:/usr/lib/python2.7/site-packages/salt/spm/pkgdb/sqlite3.pytinits$



cC@s�t}|dkr$t}t�}nd}|jdjd
j|��|f�}|j�}|rp|j�n|szdSt	t
t||���}|d|d<|S(u!
    List info for a package
    upackageuversionureleaseu	installeduosu	os_familyudependenciesuos_dependenciesuos_family_dependenciesusummaryudescriptionu(SELECT {0} FROM packages WHERE package=?u,unameN(upackageuversionureleaseu	installeduosu	os_familyudependenciesuos_dependenciesuos_family_dependenciesusummaryudescription(tFalseRRRRtformattjointfetchonetclosetdicttlistR(tpackageRRtfieldstdatatrowtformula_def((s:/usr/lib/python2.7/site-packages/salt/spm/pkgdb/sqlite3.pytinfoHs4
cC@stt}|dkr$t}t�}ng}|jd�}x!|j�D]}|j|�qFW|rp|j�n|S(u-
    List files for an installed package
    uSELECT package FROM packagesN(RRRRRtfetchalltappendR(RRtretRtpkg((s:/usr/lib/python2.7/site-packages/salt/spm/pkgdb/sqlite3.pyt
list_packagesns
cC@s�t}|dkr$t}t�}n|jd|f�}|j�s\|rX|j�ndSg}|jd|f�}x!|j�D]}|j|�q�W|r�|j�n|S(u-
    List files for an installed package
    u,SELECT package FROM packages WHERE package=?u+SELECT path, sum FROM files WHERE package=?N(	RRRRRRRR"R#(RRRRR$tfile_((s:/usr/lib/python2.7/site-packages/salt/spm/pkgdb/sqlite3.pyt
list_files�s 

cC@s�t}|dkr$t}t�}n|jd||d|dtjj�jd�|jdd�|jdd�|jdd�|jdd�|jd	d�|d
|df�|r�|j	�ndS(
u4
    Register a package in the package database
    u=INSERT INTO packages VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)uversionureleaseu%a, %d %b %Y %H:%M:%S GMTuosu	os_familyudependenciesuos_dependenciesuos_family_dependenciesusummaryudescriptionN(
RRRRRtdatetimetutcnowtstrftimetgetR(tnameR RR((s:/usr/lib/python2.7/site-packages/salt/spm/pkgdb/sqlite3.pytregister_pkg�s$	ucC@s�t}|dkr$t}t�}n|jd|dj||j�|j|j||j	|j
|j|j|j
|j|jf�|r�|j�ndS(u1
    Register a file in the package database
    u=INSERT INTO files VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)u{0}/{1}N(RRRRRRRtsizetmodetdevmajortdevminortlinknametlinkpathtunametgnametmtimeR(R-tmemberRtdigestRR((s:/usr/lib/python2.7/site-packages/salt/spm/pkgdb/sqlite3.pyt
register_file�s&	
cC@s/|dkrt�}n|jd|f�dS(u8
    Unregister a package from the package database
    u$DELETE FROM packages WHERE package=?N(RRR(R-R((s:/usr/lib/python2.7/site-packages/salt/spm/pkgdb/sqlite3.pytunregister_pkg�scC@sNt}|dkr$t}t�}n|jd|f�|rJ|j�ndS(u5
    Unregister a file from the package database
    uDELETE FROM files WHERE path=?N(RRRRRR(RR%RR((s:/usr/lib/python2.7/site-packages/salt/spm/pkgdb/sqlite3.pytunregister_file�scC@stjj|�S(u6
    Check to see whether the file already exists
    (RRR(tdb_((s:/usr/lib/python2.7/site-packages/salt/spm/pkgdb/sqlite3.pyt	db_exists�s(t__doc__t
__future__RRRR)tloggingRR
Rtsalt.ext.six.movesRt	getLoggert__name__R
RRR!R&R(R.R:R;R<R>(((s:/usr/lib/python2.7/site-packages/salt/spm/pkgdb/sqlite3.pyt<module>s"	4&


Zerion Mini Shell 1.0