Prv8 Shell
Server : Apache/2.2.22 (Unix) mod_ssl/2.2.22 OpenSSL/1.0.0-fips mod_auth_passthrough/2.1 mod_bwlimited/1.4
System : Linux server.jackjohnson.com 2.6.32-279.5.2.el6.x86_64 #1 SMP Fri Aug 24 01:07:11 UTC 2012 x86_64
User : jackjohn ( 502)
PHP Version : 5.3.17
Disable Function : NONE
Directory :  /usr/lib64/python2.6/bsddb/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //usr/lib64/python2.6/bsddb/dbtables.pyc
Ñò
§ÚêLc
@sÆdZddkZddkZddkZddkZddkZddkZyddkl	Z	Wn#e
j
oddkl	Z	nXee	dƒp#de
fd„ƒYZee	_ndefd„ƒYZdefd	„ƒYZd
d"d„ƒYZdefd
„ƒYZdefd„ƒYZdefd„ƒYZdefd„ƒYZdZdZd„ZdZdZdZd„Zd„Zd„Zd„Z d„Z!d„Z"d d#d!„ƒYZ#dS($s:$Id: dbtables.py 83624 2010-08-03 03:19:00Z ezio.melotti $iÿÿÿÿN(tdbtDBIncompleteErrorcBseZRS((t__name__t
__module__(((s&/usr/lib64/python2.6/bsddb/dbtables.pyR$stTableDBErrorcBseZRS((RR(((s&/usr/lib64/python2.6/bsddb/dbtables.pyR(stTableAlreadyExistscBseZRS((RR(((s&/usr/lib64/python2.6/bsddb/dbtables.pyR*stCondcBseZdZd„ZRS(s!This condition matches everythingcCsdS(Ni((tselfts((s&/usr/lib64/python2.6/bsddb/dbtables.pyt__call__0s(RRt__doc__R	(((s&/usr/lib64/python2.6/bsddb/dbtables.pyR.st	ExactCondcBs eZdZd„Zd„ZRS(s)Acts as an exact match condition functioncCs
||_dS(N(t
strtomatch(RR((s&/usr/lib64/python2.6/bsddb/dbtables.pyt__init__5scCs
||ijS(N(R(RR((s&/usr/lib64/python2.6/bsddb/dbtables.pyR	7s(RRR
R
R	(((s&/usr/lib64/python2.6/bsddb/dbtables.pyR3s	t
PrefixCondcBs eZdZd„Zd„ZRS(s9Acts as a condition function for matching a string prefixcCs
||_dS(N(tprefix(RR((s&/usr/lib64/python2.6/bsddb/dbtables.pyR
<scCs|t|iƒ |ijS(N(tlenR(RR((s&/usr/lib64/python2.6/bsddb/dbtables.pyR	>s(RRR
R
R	(((s&/usr/lib64/python2.6/bsddb/dbtables.pyR:s	tPostfixCondcBs eZdZd„Zd„ZRS(s:Acts as a condition function for matching a string postfixcCs
||_dS(N(tpostfix(RR((s&/usr/lib64/python2.6/bsddb/dbtables.pyR
CscCs|t|iƒ|ijS(N(RR(RR((s&/usr/lib64/python2.6/bsddb/dbtables.pyR	Es(RRR
R
R	(((s&/usr/lib64/python2.6/bsddb/dbtables.pyRAs	tLikeCondcBs&eZdZeid„Zd„ZRS(sÇ
    Acts as a function that will match using an SQL 'LIKE' style
    string.  Case insensitive and % signs are wild cards.
    This isn't perfect but it should work for the simple common cases.
    cCsfd}x$|D]}|i|d|ƒ}q
W|iddƒ|_tid|id|ƒ|_dS(Ns.*+()[]?s\t%s.*t^t$(treplacetlikestrtretcompile(RRtre_flagstchars_to_escapetchar((s&/usr/lib64/python2.6/bsddb/dbtables.pyR
NscCs|ii|ƒS(N(Rtmatch(RR((s&/usr/lib64/python2.6/bsddb/dbtables.pyR	Vs(RRR
Rt
IGNORECASER
R	(((s&/usr/lib64/python2.6/bsddb/dbtables.pyRHst__TABLE_NAMES__s._COLUMNS__cCs|tS(N(t_columns(ttable((s&/usr/lib64/python2.6/bsddb/dbtables.pyt_columns_key_ss._DATA_.s	._ROWID_.icCs|t|t|S(N(t_data(R"tcoltrowid((s&/usr/lib64/python2.6/bsddb/dbtables.pyt	_data_keykscCs|t|tS(N(R$(R"R%((s&/usr/lib64/python2.6/bsddb/dbtables.pyt_search_col_data_keynscCs|tS(N(R$(R"((s&/usr/lib64/python2.6/bsddb/dbtables.pyt_search_all_data_keyqscCs|t|tS(N(t_rowid(R"R&((s&/usr/lib64/python2.6/bsddb/dbtables.pyt
_rowid_keytscCs|tS(N(R*(R"((s&/usr/lib64/python2.6/bsddb/dbtables.pyt_search_rowid_keywscCse|itƒdjpB|itƒdjp,|itƒdjp|itƒdjodSdSdS(s‚Verify that the given string does not contain any
    metadata strings that might interfere with dbtables database operation.
    iiN(tfindt_table_names_keyR!R$R*(R((s&/usr/lib64/python2.6/bsddb/dbtables.pytcontains_metastringszst
bsdTableDBcBsÈeZdddddd„Zd„Zd„Zdd„Zd„Zd„Zd„Zd	„Z	d
„Z
d„Zd„Zd
„Z
d„Zhhd„Zhd„Zhd„Zd„Zd„ZRS(ii€cs.d|_ti}|o|tiO}ntitiBtiBtiB|B}	y|tiO}Wnt	j
onX|o|	ti
B}	ntiƒ|_|ii
tiƒ|ii|||	Bƒ|o|tiO}nti|iƒ|_|iidƒ|iitiƒ|ii|ti||B|ƒ||_tiddjoHdtfd„ƒY‰dtf‡fd†ƒY}
|
|iƒ|_n|iiƒ}yXt|idƒt|ƒp8t|id	|iiƒttigdƒd
|ƒnWn|i ƒ‚nX|i!ƒh|_"dS(sÄbsdTableDB(filename, dbhome, create=0, truncate=0, mode=0600)

        Open database name in the dbhome Berkeley DB directory.
        Use keyword arguments when calling this constructor.
        iiitcursor_py3kcBs,eZd„Zd„Zd„Zd„ZRS(cSs
||_dS(N(t	_dbcursor(Rtdbcursor((s&/usr/lib64/python2.6/bsddb/dbtables.pyR
®scSs
|iiƒS(N(R2tclose(R((s&/usr/lib64/python2.6/bsddb/dbtables.pyR4±scSsV|iit|dƒƒ}|dj	o*|didƒ|didƒf}n|S(Ns	iso8859-1ii(R2t	set_rangetbytestNonetdecode(Rtsearchtv((s&/usr/lib64/python2.6/bsddb/dbtables.pyR5´s

cSsPt|idƒƒ}|dj	o*|didƒ|didƒf}n|S(Ntnextis	iso8859-1i(tgetattrR2R7R8(RR:((s&/usr/lib64/python2.6/bsddb/dbtables.pyt__next__»s

(RRR
R4R5R=(((s&/usr/lib64/python2.6/bsddb/dbtables.pyR1­s			tdb_py3kcs}eZd„Zd
‡fd†Zd
d„Zdd
d„Zd
d„Zd
dd„Zd
dd„Z	d
d„Z
d	„ZRS(cSs
||_dS(N(t_db(RR((s&/usr/lib64/python2.6/bsddb/dbtables.pyR
Ãscsˆ|iid|ƒƒS(Nttxn(R?tcursor(RR@(R1(s&/usr/lib64/python2.6/bsddb/dbtables.pyRAÆscSs%t|idƒt|dƒd|ƒS(Nthas_keys	iso8859-1R@(R<R?R6(RtkeyR@((s&/usr/lib64/python2.6/bsddb/dbtables.pyRBÉsicSsNt|dƒ}|dj	ot|dƒ}n|ii||d|d|ƒS(Ns	iso8859-1tflagsR@(R6R7R?tput(RRCtvalueRDR@((s&/usr/lib64/python2.6/bsddb/dbtables.pyREÍs
cSs(t|dƒ}|ii||d|ƒS(Ns	iso8859-1R@(R6R?RE(RRCRFR@((s&/usr/lib64/python2.6/bsddb/dbtables.pyt	put_bytesÓscSsQt|dƒ}|ii|d|d|ƒ}|dj	o|idƒ}n|S(Ns	iso8859-1R@RD(R6R?tgetR7R8(RRCR@RDR:((s&/usr/lib64/python2.6/bsddb/dbtables.pyRH×s

cSs+t|dƒ}|ii|d|d|ƒS(Ns	iso8859-1R@RD(R6R?RH(RRCR@RD((s&/usr/lib64/python2.6/bsddb/dbtables.pyt	get_bytesÞscSs%t|dƒ}|ii|d|ƒS(Ns	iso8859-1R@(R6R?tdelete(RRCR@((s&/usr/lib64/python2.6/bsddb/dbtables.pyRJâscSs
|iiƒS(N(R?R4(R((s&/usr/lib64/python2.6/bsddb/dbtables.pyR4æsN(RRR
R7RARBRERGRHRIRJR4((R1(s&/usr/lib64/python2.6/bsddb/dbtables.pyR>Âs	RBRGR@N(#R7Rt	DB_THREADt	DB_CREATEt
DB_INIT_MPOOLtDB_INIT_LOCKtDB_INIT_LOGtDB_INIT_TXNtDB_AUTO_COMMITtAttributeErrort
DB_RECOVERtDBEnvtenvt
set_lk_detecttDB_LOCK_DEFAULTtopentDB_TRUNCATEtDBtset_get_returns_nonet	set_flagstDB_DUPtDB_BTREEt
dbfilenametsystversion_infotobjectt	txn_beginR<R.REtpickletdumpstaborttcommitt_bsdTableDB__tablecolumns(RtfilenametdbhometcreatettruncatetmodetrecovertdbflagstmyflagstflagsforenvR>R@((R1s&/usr/lib64/python2.6/bsddb/dbtables.pyR
‰sF		" 	'$

cCs|iƒdS(N(R4(R((s&/usr/lib64/python2.6/bsddb/dbtables.pyt__del__üscCsX|idj	o|iiƒd|_n|idj	o|iiƒd|_ndS(N(RR7R4RU(R((s&/usr/lib64/python2.6/bsddb/dbtables.pyR4ÿs


cCs1y|ii|ƒWntij
onXdS(N(RUttxn_checkpointRR(Rtmins((s&/usr/lib64/python2.6/bsddb/dbtables.pyt
checkpointscCs.y|iiƒWntij
onXdS(N(RtsyncR(R((s&/usr/lib64/python2.6/bsddb/dbtables.pyRv
scCsšdGH|iiƒ}y_|iƒ\}}xFth||6ƒGH|iƒ}|o|\}}q,|iƒdSq,Wn tij
o|iƒnXdS(s*Print the database to stdout for debuggings5******** Printing raw database for debugging ********N(RRAtfirsttreprR;R4tDBNotFoundError(RtcurRCtdataR;((s&/usr/lib64/python2.6/bsddb/dbtables.pyt	_db_prints
cCsæt|tƒpt‚d}ydt|ƒotdƒ‚nx+|D]#}t|ƒotdƒ‚qDqDWt|ƒ}t|idƒ|ƒo
t	d‚n|i
iƒ}t|id|iiƒ|t
i|dƒd|ƒt
it|id|iiƒtd|d	tiƒƒ}|i|ƒ|iitd|ƒt|id|iiƒtt
i|dƒd|ƒ|iƒd}Wn^tij
oO}|o|iƒntid
jot|d‚qât|id‚nXdS(s”CreateTable(table, columns) - Create a new table in the database.

        raises TableDBError if it already exists or for other DB errors.
        s-bad table name: contains reserved metastringss.bad column name: contains reserved metastringsRBstable already existsRGiR@RIRDiiN(ii(t
isinstancetlisttAssertionErrorR7R/t
ValueErrorR#R<RRRURcRERdRetloadsRHR.tDB_RMWtappendRJRgtDBErrorRfR`RaRtargs(RR"tcolumnsR@tcolumntcolumnlist_keyt	tablelisttdberror((s&/usr/lib64/python2.6/bsddb/dbtables.pytCreateTable%s>



'


cCs™t|tƒpt‚t|ƒo
td‚nt|ƒ}t|idƒ|ƒpgSt|id|iiƒ|ƒ}|ot	i
|ƒSgSdS(s\Return a list of columns in the given table.
        [] if the table doesn't exist.
        s-bad table name: contains reserved metastringsRBRIN(R}tstrRR/R€R#R<RRHRdR(RR"Rˆtpickledcolumnlist((s&/usr/lib64/python2.6/bsddb/dbtables.pytListTableColumnsUs

cCs/|iitƒ}|oti|ƒSgSdS(s)Return a list of tables in this database.N(Rtget_getR.RdR(Rtpickledtablelist((s&/usr/lib64/python2.6/bsddb/dbtables.pyt
ListTablesgsc
CsÛt|tƒpt‚y|i||ƒWn©tj
od}y/t|ƒ}|iiƒ}t	i
t|id|ii
ƒ|d|dtiƒƒ}h}x|D]}|||<q¦Wti|ƒ}x,|D]$}||jo|i|ƒqÐqÐW||joN|ii|d|ƒt|id|iiƒ|t	i|dƒd|ƒn|iƒd}|i|ƒWq×tij
oO}	|o|iƒntid	jot|	d‚qÒt|	id‚q×XnXdS(
sCreateOrExtendTable(table, columns)

        Create a new table in the database.

        If a table of this name already exists, extend it to have any
        additional columns present in the given list as well as
        all of its current columns.
        RIR@RDRGiiiN(ii(R}R~RR‹RR7R#RURcRdRR<RRHR‚tcopyRƒRJREReRgt_bsdTableDB__load_column_infoR„RfR`RaRR…(
RR"R†R@Rˆt
oldcolumnlistt
oldcolumnhashtct
newcolumnlistRŠ((s&/usr/lib64/python2.6/bsddb/dbtables.pytCreateOrExtendTableosD	'


cCs‰y+t|id|iiƒt|ƒƒ}Wn&tij
otd|f‚nX|ptd|f‚nti|ƒ|i|<dS(s'initialize the self.__tablecolumns dictRIsunknown table: %rN(	R<RRHR#RyRRdRRh(RR"ttcolpickles((s&/usr/lib64/python2.6/bsddb/dbtables.pyt__load_column_info©scCsÚd}xÍ|pÅg}x-ttƒD]}|itiddƒƒq#Wtidt|Œ}tiddjo|i	dƒ}ny/|i
it||ƒd	d|dt
iƒWnt
ij
oq	Xd}q	W|S(
s"Create a new unique row identifieriiÿtBis	iso8859-1R@RDiN(txranget_rowid_str_lenRƒtrandomtrandinttstructtpackR`RaR8RRER+R7tDB_NOOVERWRITEtDBKeyExistError(RR"R@tuniquetblisttxtnewid((s&/usr/lib64/python2.6/bsddb/dbtables.pyt__new_rowidµs"
!c	Cs§d}y	t|idƒt|ƒƒp
td‚n||ijo|i|ƒnx?|iƒD]1}|i|i|ƒptd|f‚qcqcW|i	i
ƒ}|i|d|ƒ}x?|iƒD]1\}}|ii
t|||ƒ|d|ƒqÉW|iƒd}Wn‘tij
o‚}tiƒ}|o'|iƒ|iit||ƒƒntid	jot|d|d‚q£t|id|d‚nXdS(
sƒInsert(table, datadict) - Insert a new row into the table
        using the keys+values from rowdict as the column values.
        RBs
unknown tablesunknown column: %rR@iiiN(ii(R7R<RR#RRhR“tkeystcountRURct_bsdTableDB__new_rowidtitemsRER'RgR„R`texc_infoRfRJR+RaR…(	RR"trowdictR@R‡R&tdataitemRŠtinfo((s&/usr/lib64/python2.6/bsddb/dbtables.pytInsertÐs2


)


cCs—yG|i|g|ƒ}|iƒ}x|iƒD]}d}yãxÜ|D]Ô}|iiƒ}yJ|iit|||ƒd|ƒ}	|iit|||ƒd|ƒWnti	j
o
d}	nX|||	ƒ}	|	dj	o)|ii
t|||ƒ|	d|ƒn|iƒd}qGWWq1|o|iƒn‚q1Xq1WWnIti
j
o:}
tidjot|
d‚q“t|
id‚nXdS(sModify(table, conditions={}, mappings={}) - Modify items in rows matching 'conditions' using mapping functions in 'mappings'

        * table - the table name
        * conditions - a dictionary keyed on column names containing
          a condition callable expecting the data string as an
          argument and returning a boolean.
        * mappings - a dictionary keyed on column names containing a
          condition callable expecting the data string as an argument and
          returning the new string for that column.
        R@iiiN(ii(t_bsdTableDB__SelectR©R7RURcRRHR'RJRyRERgRfR„R`RaRR…(RR"t
conditionstmappingstmatching_rowidsR†R&R@R‡R¯RŠ((s&/usr/lib64/python2.6/bsddb/dbtables.pytModifyüsD
			
	
c	Csuy%|i|g|ƒ}|i|}xü|iƒD]î}d}y¯|iiƒ}xM|D]E}y&|iit|||ƒd|ƒWqWti	j
oqWXqWWy#|iit
||ƒd|ƒWnti	j
onX|iƒd}Wq2tij
o!}|o|i
ƒn‚q2Xq2WWnItij
o:}tidjot|d‚qqt|id‚nXdS(sDelete(table, conditions) - Delete items matching the given
        conditions from the table.

        * conditions - a dictionary keyed on column names containing
          condition functions expecting the data string as an
          argument and returning a boolean.
        R@iiiN(ii(R²RhR©R7RURcRRJR'RyR+RgR„RfR`RaRR…(	RR"R³RµR†R&R@R‡RŠ((s&/usr/lib64/python2.6/bsddb/dbtables.pytDelete2s:	

	#

cCs®yX||ijo|i|ƒn|djo|i|}n|i|||ƒ}WnItij
o:}tidjot|d‚q¤t|i	d‚nX|i
ƒS(s²Select(table, columns, conditions) - retrieve specific row data
        Returns a list of row column->value mapping dictionaries.

        * columns - a list of which column data to return.  If
          columns is None, all columns will be returned.
        * conditions - a dictionary keyed on column names
          containing callable conditions expecting the data string as an
          argument and returning a boolean.
        iiiN(ii(RhR“R7R²RR„R`RaRR…tvalues(RR"R†R³RµRŠ((s&/usr/lib64/python2.6/bsddb/dbtables.pytSelect_s

cCs´||ijo|i|ƒn|djo|i|}nxC||iƒD]1}|i|i|ƒptd|f‚qPqPWh}h}d„}tid	jo|i	ƒ}|i
|ƒnyg}xo|i	ƒD]a}	xXt|ƒD]=\}
}|||	ƒ}|djo|i|
|	ƒPqíqíW|i
|	ƒqÚW|iiƒ}
d}x[|D]S\}}|d}t||ƒ}||jo
d}nd}yÕ|
i|ƒ\}}x¹|t|ƒ |jo¡|t}||jos|p
||ƒo8||joh||<n|o||||<qVqZ||jo||=n|||<n|
iƒ\}}q¸WWq[tij
o*}|idtijo‚q[q[q[Xq[W|
iƒ~t|ƒdjoÞxÛ|i	ƒD]É\}}xº|D]²}||joqòny&|iit|||ƒƒ||<Wqòtij
o`}tid
jo|dtijo‚q•n|idtijo‚nd||<qòXqòWqßWn|S(s™__Select() - Used to implement Select and Delete (above)
        Returns a dictionary keyed on rowids containing dicts
        holding the row data for columns listed in the columns param
        that match the given conditions.
        * conditions is a dictionary keyed on column names
        containing callable conditions expecting the data string as an
        argument and returning a boolean.
        sunknown column: %rcSs
|d}|d}t|ƒt|ƒjo…t|tƒo0t|tƒo tt|iƒt|iƒƒSt|tƒo0t|tƒo tt|iƒt|iƒƒSdSt|tƒodSt|tƒodSt|tƒodSt|tƒodSdS(Niiiÿÿÿÿ(	ttypeR}RtcmpRRRRR(tatupletbtupletatb((s&/usr/lib64/python2.6/bsddb/dbtables.pytcmp_conditions’s"

    iiiiÿÿÿÿiN(ii(ii(RhR“R7ttablecolumnsR©RªRR`RaR¬tsortt	enumeratetinsertRƒRRAR(R5RRR;R„R…tDB_NOTFOUNDR4RHR'(RR"R†R³R‡Rµtrejected_rowidsRÀt
conditionlisttitjtktrRzt
column_numt	conditiont	searchkeytsavethiscolumndataRCR{R&RŠtrowdata((s&/usr/lib64/python2.6/bsddb/dbtables.pyt__Selectxs

	


	








	c	CsFd}yù|iiƒ}|iit|ƒd|ƒ|ii|ƒ}t|ƒ}x\y|i|ƒ\}}Wnti	j
oPnX|t
|ƒ |joPn|iƒqUt|ƒ}x\y|i|ƒ\}}Wnti	j
oPnX|t
|ƒ |joPn|iƒqÀ|iƒt
it|id|iiƒtd|dtiƒƒ}y|i|ƒWntj
onX|iitd|ƒt|id|iiƒtt
i|dƒd|ƒ|iƒd}||ijo|i|=nWn@tij
o1}|o|iƒnt|idƒ‚nXdS(s(Remove an entire table from the databaseR@RIRDRGiN(R7RURcRRJR#RAR)R5RyRR,R4RdRR<RHR.R‚tremoveR€REReRgRhR„RfRR…(	RR"R@Rzt	table_keyRCR{R‰RŠ((s&/usr/lib64/python2.6/bsddb/dbtables.pytDropøsT



(RRR
RrR4RuRvR|R‹RŽR‘R˜R“R«R±R¶R·R¹R²RÔ(((s&/usr/lib64/python2.6/bsddb/dbtables.pyR0ˆs&	r					0			:			,6-	€((($t_cvsidRR`R’RžR tcPickleRdtbsddb3RtImportErrortbsddbthasattrt	ExceptionRt
StandardErrorRRRRRRRR.R!R#R$R*RR'R(R)R+R,R/R0(((s&/usr/lib64/python2.6/bsddb/dbtables.pyt<module>sB
							

haha - 2025