MINI SHELL

Server : Apache/2.2.2 (Fedora)
System : Linux App1.pathumtani.go.th 2.6.20-1.2320.fc5smp #1 SMP Tue Jun 12 19:40:16 EDT 2007 i686
User : apache ( 48)
PHP Version : 5.2.9
Disable Function : NONE
Directory :  /proc/self/root/proc/self/root/usr/lib/python2.4/site-packages/yum/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //proc/self/root/proc/self/root/usr/lib/python2.4/site-packages/yum/sqlitecache.pyo
mò
ýÉODc@sgdkZdkZdkZdkZdklZlZdZdfd„ƒYZdfd„ƒYZ	dS(N(sencodefiletypelistsencodefilenamelistt7tRepodataParserSqlitecBs¶tZdd„Zd„Zd„Zd„Zd„Zd„Zd„Z	d„Z
d	„Zd
„Zd„Z
d„Zd
„Zd„Zd„Zd„Zd„Zd„Zd„ZRS(NcCsL||_||_hdh<dh<dh<|_||_d|_dS(Ntmetadatat	filelistst	otherdatai(tstoredirtselftcallbacktrepodatatrepoidtdebug(RRR	R((t3/usr/lib/python2.4/site-packages/yum/sqlitecache.pyt__init__!s
		$	cCs˜ti|ƒ}|iƒ}|idƒ|iƒ}|pti	d‚n|dt
jo.|idd|dt
fƒti	d‚n|d|fS(	siLoad cache from filename, check if it is valid and that dbversion 
        matches the required dbversionsselect * from db_infosIncomplete database cache filet	dbversionis>Warning: cache file is version %s, we need %s, will regeneratesOlder version of yum sqlitetchecksumN(
tsqlitetconnecttfilenametdbtcursortcurtexecutetfetchonetinfot
DatabaseErrorR
Rtlog(RRRRR((Rt	loadCache,s
cCs|dS(Ns.sqlite(tlocation(RR((RtgetFilenameCscCsx|i|ƒ}d}y%t|ƒ}|i|ƒ\}}Wn1t	t
itfj
o|i
||ƒ}nX||fS(Nt(RRRRt
dbchecksumtopentfRRtIOErrorRRtKeyErrortmakeSqliteCacheFilet	cachetype(RRR$R RRR((RtgetDatabaseFscCsp|i||ƒ\}}||jo=|idd|ƒti	|ƒ}|i||||ƒn|iƒ|S(Nis3%s sqlite cache needs updating, reading in metadata(
RR%RtmetadatatypeRRRRtmdparsertMDParsertparsertupdateSqliteCachetcommit(RRRR&R)RR((Rt_getbaseRs

cCs|i||dƒS(sNLoad primary.xml.gz from an sqlite cache and update it 
           if requiredtprimaryN(RR,RR(RRR((Rt
getPrimary]scCs|i||dƒS(sOLoad filelist.xml.gz from an sqlite cache and update it if 
           requiredRN(RR,RR(RRR((RtgetFilelistsbscCs|i||dƒS(s@Load other.xml.gz from an sqlite cache and update it if requiredtotherN(RR,RR(RRR((RtgetOtherdatagscCsQ|iƒ}|i|ƒ|idƒ|idƒ|idƒ|idƒdS(sTCreate the required tables for filelists metadata in the sqlite 
           databases_CREATE TABLE packages(
            pkgKey INTEGER PRIMARY KEY,
            pkgId TEXT)
        sCREATE TABLE filelist(
            pkgKey INTEGER,
            dirname TEXT,
            filenames TEXT,
            filetypes TEXT)
        s)CREATE INDEX keyfile ON filelist (pkgKey)s&CREATE INDEX pkgId ON packages (pkgId)N(RRRRtcreateDbInfoR(RRR((RtcreateTablesFilelistsks



cCsQ|iƒ}|i|ƒ|idƒ|idƒ|idƒ|idƒdS(sWCreate the required tables for other.xml.gz metadata in the sqlite 
           databases_CREATE TABLE packages(
            pkgKey INTEGER PRIMARY KEY,
            pkgId TEXT)
        sˆCREATE TABLE changelog(
            pkgKey INTEGER,
            author TEXT,
            date TEXT,
            changelog TEXT)
        s,CREATE INDEX keychange ON changelog (pkgKey)s&CREATE INDEX pkgId ON packages (pkgId)N(RRRRR2R(RRR((RtcreateTablesOther~s



cCsÒ|iƒ}|i|ƒd}g}x"tiD]}|i
d|ƒq/W|di|ƒd7}|i|ƒxdD]}|id	|ƒquW|id
ƒ|idƒ|idƒ|id
ƒ|iƒdS(sRCreate the required tables for primary metadata in the sqlite 
           databases3CREATE TABLE packages(
pkgKey INTEGER PRIMARY KEY,
s%s TEXTs,
t)trequirestprovidest	conflictst	obsoletess¾CREATE TABLE %s (
              name TEXT,
              flags TEXT,
              epoch TEXT,
              version TEXT,
              release TEXT,
              pkgKey TEXT)
            sdCREATE TABLE files (
            name TEXT,
            type TEXT,
            pkgKey TEXT)
        s+CREATE INDEX packagename ON packages (name)s,CREATE INDEX providesname ON provides (name)s*CREATE INDEX packageId ON packages (pkgId)N(R6R7R8R9(RRRRR2tqtcolstPackageToDBAdaptertCOLUMNStcoltappendtjoinRttR+(RRRR;R:RAR>((RtcreateTablesPrimary‘s$


	



cCs|idƒdS(NsVCREATE TABLE db_info (
            dbversion TEXT,
            checksum TEXT)
        (RR(RR((RR2ºscCsÞ|iƒ}|iƒ}d|}|di|ƒ7}|d7}xk|D]c}|djo|d7}qFy|d|iddƒ7}WqFt	j
o|d|7}qFXqFW|d }|d	7}|i|id
ƒƒ|i
S(s8Insert the key value pairs in hash into a database tablesINSERT INTO %s (t,s
) VALUES (sNULL,s'%s',t's''iÿÿÿÿR5tutf8N(thashtkeystvaluesttabletqueryR@txtNonetreplacetAttributeErrorRRtencodet	lastrowid(RRIRFRRKRGRHRJ((Rt
insertHashÁs$




cCstii|ƒo;|iddƒyti|ƒWqNtj
oqNXny"t|dƒ}t
i|ƒ}Wn2t
j
o&|iddƒt
idƒ}nX|djo|i|ƒnM|djo|i|ƒn/|d	jo|i|ƒnt
id
|‚|S(s0Create an initial database in the given filenameis3Warning: cache already exists, removing old versiontwisIWarning could not create sqlite cache file, using in memory cache insteads:memory:R-RR0s Sorry don't know how to store %sN(tostpathtexistsRRRtunlinktOSErrorRR RRRR!R$RBR3R4R(RRR$R R((RR#Ùs*	


c	Cs|idt|ƒ|ƒ}x¥|iD]š}x‘|i|D]‚}hd|<d|i	dƒ<d|i	dƒ<d|i	dƒ<d|i	dƒ<d|i	d	ƒ<}|i|||ƒq9Wq%WxL|iD]A}hd|<d
|i|<d|<}|id||ƒqÍWdS(
s"Add a package to the primary cachetpackagestpkgKeytnametflagstepochtversiontvertreleasetrelttypetfilesN(
RRQR<tpackageRRYtprcotptypetentrytgettdataRbR (	RtpkgIdRcRRYR ReRfRh((Rt
addPrimaryøs
i
(cCs>hd|<}|id||ƒ}h}xŸ|ii	ƒD]Ž\}}
ti
i|ƒ\}	}|i|	ƒo.||	di|ƒ||	di|
ƒq:h||	<|g||	d<|
g||	d<q:Wxk|iƒD]]\}	}hd|<d|	<dt|dƒ<dt|dƒ<}|id	||ƒqÙWd
S(s$Add a package to the filelists cacheRiRXRbttypesRYtdirnamet	filenamest	filetypestfilelistN(RitpkginfoRRQRRYtdirsRcRbt	iteritemsRtfiletypeRSRTtsplitRlthas_keyR?titemstdirtencodefilenamelisttencodefiletypelistRh(RRiRcRRqRYRpRRhRlRsRw((RtaddFilelistss"

>cCs•hd|<}|id||ƒ}xj|dD]^}hd|<d|idƒ<d|idƒ<d|idƒ<}|id||ƒq/WdS(NRiRXt	changelogRYtauthortdatetvalue(
RiRpRRQRRYRcRfRgRh(RRiRcRRYRpRfRh((RtaddOther+sEcCstiƒ}d}d}|iƒ}
|
idƒ|
idƒh}x&|
i	ƒD]}|d||d<qQW|djo
d}n?|d
jo
d}n(|djo
d}nt
id|‚h}xâ|D]Ú}|idj	o#|ii|i|i|iƒn|d}d||<|i|ƒoqÏn|d7}|djo|i|||
ƒqÏ|d
jo|i|||
ƒqÏ|djo|i|||
ƒqÏqÏWg}xK|iƒD]=\}}
|i|ƒp!|d7}|i!t"|
ƒƒqÀqÀWddi#|ƒd}x'|D]}	|
id|	d|ƒqW|
idt%|fƒ|i'ƒ|i(dd||tiƒ|fƒ|S(sÆUpdate the sqlite cache by making it fit the packages described
        in dobj (info that has been read from primary.xml metadata) afterwards
        update the checksum of the database to checksumisDELETE FROM db_infos"SELECT pkgId, pkgKey from packagesRYRiR-RXRbR7R6R8R9RRoR0R{sUnknown type %sit(RCR5sDELETE FROM s where pkgKey in %ss7INSERT into db_info (dbversion,checksum) VALUES (%s,%s)is5Added %s new packages, deleted %s old in %.2f secondsN(spackagessfilessprovidessrequiress	conflictss	obsoletes(spackagessfilelist(spackagess	changelog()ttimeRAtdelcounttnewcountRRRRtcurrentpkgstfetchalltpkgR$t	deltablesRRt
all_pkgIdsR)RcRRRLtprogressbartcountttotalR	RiRuRjRzRtdelpkgsRvRYR?tstrR@RIR
RR+R(RRR)RR$RiR‡RˆR†RIRR„R‚RYRƒRŒRcRA((RR*7sb








#







	

'cCs%|io|ii||ƒndS(s!Log to callback (if set)
        N(RRRtleveltmsg(RRŽR((RR~s
(t__name__t
__module__RLRRRR%R,R.R/R1R3R4RBR2RQR#RjRzRR*R(((RR s&										)							GR<cBstZdZhdd<dd<dd<dd<d	d
<dd<d
d<dd<dd<Zd)Zd%„Zd&„Zd'„Zd(„ZRS(*sÛ
    Adapt a PrimaryEntry instance to suit the sqlite database. 

    This hides certain attributes and converts some column names in order to
    decouple the parser implementation from the sqlite database schema.
    trpm_packageRcR]R^R_R`trpm_licensetlicenset
rpm_vendortvendort	rpm_grouptgroupt
rpm_buildhostt	buildhostt
rpm_sourcerpmt	sourcerpmtrpm_packagertpackagerRiRZtarchR\tsummarytdescriptionturlt	time_filet
time_buildtrpm_header_starttrpm_header_endtsize_packagetsize_installedtsize_archivet
location_hreft
location_baset
checksum_typetchecksum_valuecCs
||_dS(N(RcRt_pkg(RRc((RR¶scCs|i|ii||ƒS(N(RR®t	NAME_MAPSRgtk(RR°((Rt__getitem__¹scCs|iS(N(RR=(R((RRG¼scCs2g}x%|iƒD]}|i||ƒqW|S(N(toutRRGR°R?(RR°R²((RRH¿s

(spkgIdsnameRŸsversionsepochsreleaseR R¡R¢R£R¤R“R•R—R™R›R¥R¦RR§R¨R©RªR«R¬R­(	RR‘t__doc__R¯R=RR±RGRH(((RR<„sW			(
RSRRR't
sqlitesackRyRxR
RR<(	R<RR
RRyRxRR'RS((Rt?s				ÿe

Anon7 - 2021