1 $ˆl–äY>”*e¶…6 Aq‘\”ţà „ O ïÂÆÅ9ì§ æ�•>ýCbÎãór—dZddlZddlZddlZddlZddgZ dZ e Z Gd„dej j¦«Zd d „ZdS) a­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') éNÚerrorÚopenicóœ—eZdZeZeZdd„Zd„Zd„Zd„ZeZ d„Z d„Z d„Z d „Z d „Zd „Zd „Zd „Zd„Zd„Zd„ZeZd„Zd„ZeZd„Zd„Zd„ZdS)Ú _DatabaseÚccóü—|j |¦«}||_|dk|_|dz|_|dz|_|dz|_d|_| |¦«|  |¦«dS)NÚrs.dirs.dats.bak) Ú_osÚfsencodeÚ_modeÚ _readonlyÚ_dirfileÚ_datfileÚ_bakfileÚ_indexÚ_createÚ_update)ÚselfÚ filebasenameÚmodeÚflags ú5/opt/alt/python-internal/lib64/python3.11/dbm/dumb.pyÚ__init__z_Database.__init__0s†€Ø”x×(Ò(¨Ñ6Ô6ˆ ؈Œ Ø #š+ˆŒð% wÑ.ˆŒ ð % wÑ.ˆŒ Ø$ wÑ.ˆŒ ðˆŒ ð � Š �TÑÔÐØ � Š �TÑÔÐÐÐócó¸—|dkr<|j|j|jfD]'} tj|¦«Œ#t $rYŒ$wxYw t j|jdd¬¦«}| ¦«dS#t $rY|dvr‚t j|jdd¬¦«5}|  |j¦«ddd¦«YdS#1swxYwYYdSwxYw)NÚnr úLatin-1©Úencoding©rrÚw) rrrr ÚremoveÚOSErrorÚ_iorÚcloseÚ_chmod)rrÚfilenameÚfs rrz_Database._createJsR€Ø �3Š;ˆ;Ø!œ]¨D¬M¸4¼=ÐIð ð �ðÝ”J˜xÑ(Ô(Ð(Ð(øÝðððØ�Dðøøøð Ý”˜œ¨°iÐ@Ñ@Ô@ˆAð �GŠG‰IŒIˆIˆIˆIøõ ð +ð +ð +ؘ:Ð%Ð%ØÝ”˜$œ-¨°yÐAÑAÔAð +ÀQØ— ’ ˜DœMÑ*Ô*Ð*ð +ð +ð +ñ +ô +ð +ð +ð +ð +ð +ð +ð +ð +øøøð +ð +ð +ð +ð +ð +ð +ð +øøøsDž3³ A¿AÁA6Á6+CÂ!C Â< Cà C ÃCÃC ÃCÃCcól—d|_i|_ tj|jdd¬¦«}|5|D]L}| ¦«}t j|¦«\}}| d¦«}||j|<ŒM ddd¦«dS#1swxYwYdS#t$r|dvr‚d|_YdSwxYw)NFr rrr T) Ú _modifiedrr$rrÚrstripÚ_astÚ literal_evalÚencoder#)rrr(ÚlineÚkeyÚpos_and_siz_pairs rrz_Database._update]s(€ØˆŒØˆŒ ð 8Ý”˜œ¨°iÐ@Ñ@Ô@ˆAð ð 8ð 8Øð8ð8�DØŸ;š;™=œ=�DÝ,0Ô,=¸dÑ,CÔ,CÑ)�CÐ)ØŸ*š* YÑ/Ô/�CØ'7�D”K Ñ$Ð$ð 8ð 8ð 8ð 8ñ 8ô 8ð 8ð 8ð 8ð 8ð 8ð 8ð 8øøøð 8ð 8ð 8ð 8ð 8ð 8øõ ð "ð "ð "ؘ:Ð%Ð%ØØ!ˆDŒNˆNˆNˆNð "øøøs#�B®AB  BÂBÂB3Â2B3có@—|j�|jsdS |j |j¦«n#t $rYnwxYw |j |j|j¦«n#t $rYnwxYw|j  |j