b374k
m1n1 1.01
Apache/2.2.15 (CentOS)
Linux obd60-6c49958d75-2q7cw 5.4.0-174-generic #193-Ubuntu SMP Thu Mar 7 14:29:28 UTC 2024 x86_64
uid=48(apache) gid=48(apache) groups=48(apache)
server ip : 172.67.192.52 | your ip : 10.244.126.0
safemode OFF
 >  / usr / lib64 / python2.6 / bsddb /
Filename/usr/lib64/python2.6/bsddb/dbtables.pyc
Size23.97 kb
Permissionrw-r--r--
Ownerapache
Create time23-Dec-2025 17:41
Last modified20-Jun-2019 19:45
Last accessed22-Apr-2026 09:42
Actionsedit | rename | delete | download (gzip)
Viewtext | code | image
Ñò
§ÚêLc
@sÆdZddkZddkZddkZddkZddkZddkZyddkl Z Wn#e
j
oddk l 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.pyR 3s 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 t PostfixCondcBs 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 �Z d �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 ��n X| i!�h|_"d S( 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.
iiit cursor_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 �Z RS( 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_LOCKt DB_INIT_LOGt DB_INIT_TXNtDB_AUTO_COMMITtAttributeErrort
DB_RECOVERtDBEnvtenvt
set_lk_detecttDB_LOCK_DEFAULTtopent DB_TRUNCATEtDBtset_get_returns_nonet set_flagstDB_DUPtDB_BTREEt
dbfilenametsyst version_infotobjectt txn_beginR<R.REtpickletdumpstaborttcommitt_bsdTableDB__tablecolumns( Rtfilenametdbhometcreatettruncatetmodetrecovertdbflagstmyflagst flagsforenvR>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.pyt CreateTable%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
o�d}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#RURcRdR�R<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#RyRRdR�Rh(RR"t tcolpickles((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
i t ||�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


)

 
c Cs�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(R5RR�R;R�R�t DB_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,R4RdR�R<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 tcPickleRdtbsddb3Rt ImportErrortbsddbthasattrt ExceptionRt
StandardErrorRRRR RRRR.R!R#R$R*R�R'R(R)R+R,R/R0(((s&/usr/lib64/python2.6/bsddb/dbtables.pyt<module>sB