//usr/lib64/lib64//lib64/lib64/python2.7/ó
ÙœSec @ sk d Z d d l Z d d l Z d d l Z e j Z d Z e Z d e j
f d „ ƒ YZ d d d „ Z d S( s A dumb and slow but simple dbm clone.
For database spam, spam.dir contains the index (a text file),
spam.bak *may* contain a backup of the index (also a text file),
while spam.dat contains the data (a binary file).
XXX TO DO:
- seems to contain a bug when updating...
- reclaim free space (currently, space once occupied by deleted or expanded
items is never reused)
- support concurrent access (currently, if two processes take turns making
updates, they can mess up the index)
- support efficient access to large databases (currently, the whole index
is read when the database is opened, and some updates rewrite the whole index)
- support opening for read-only (flag = 'm')
iÿÿÿÿNi t _Databasec B s¶ e Z e Z e Z d „ Z d „ Z d „ Z e Z d „ Z d „ Z d „ Z
d „ Z d „ Z d „ Z
d „ Z d
„ Z d „ Z d „ Z e Z d
„ Z d „ Z e Z d „ Z RS( c C s² | | _ | t j d | _ | t j d | _ | t j d | _ d | _ y t | j d ƒ } Wn3 t k
r™ t | j d ƒ } | j
| j ƒ n X| j ƒ | j ƒ d S( Nt dirt datt bakt rt w(
t _modet _ost extsept _dirfilet _datfilet _bakfilet Nonet _indext _opent IOErrort _chmodt closet _update( t selft filebasenamet modet f( ( s /usr/lib64/python2.7/dumbdbm.pyt __init__/ s
c C sz i | _ y t | j ƒ } Wn t k
r/ nG Xx9 | D]1 } | j ƒ } t | ƒ \ } } | | j |