o ?Ogp!@s ddlmZmZmZddlmZddlZgdZGdddej j Z Gdddej j Z Gd d d e Z Gd d d e ZdddZdS))DEFAULT_PROTOCOLPickler Unpickler)BytesION)Shelf BsdDbShelfDbfilenameShelfopenc@s6eZdZ ddZeZZZZZZ ddZ dS) _ClosedDictcGstd)Nz!invalid operation on closed shelf) ValueError)selfargsr-/opt/alt/python310/lib64/python3.10/shelve.pyclosedEsz_ClosedDict.closedcCsdS)Nzrr rrr__repr__Iz_ClosedDict.__repr__N) __name__ __module__ __qualname__r__iter____len__ __getitem__ __setitem__ __delitem__keysrrrrrr Bs  r c@s~eZdZ  dddZddZdd Zd d Zdd d ZddZddZ ddZ ddZ ddZ ddZ ddZddZdS) rNFutf-8cCs.||_|dur t}||_||_i|_||_dSN)dictr _protocol writebackcache keyencodingr rprotocolr!r#rrr__init__Ts zShelf.__init__ccs$|jD] }||jVqdSr)rrdecoder#)r krrrr^szShelf.__iter__cCs t|jSr)lenrrrrrrbs z Shelf.__len__cCs||j|jvSrencoder#rr keyrrr __contains__eszShelf.__contains__cCs||j|jvr ||S|Srr*)r r-defaultrrrgethsz Shelf.getcCs^z|j|}W|Sty.t|j||j}t|}|jr+||j|<Y|SY|Swr) r"KeyErrorrrr+r#rloadr!r r-valuefrrrrms    zShelf.__getitem__cCsF|jr||j|<t}t||j}||||j||j <dSr) r!r"rrr dumpgetvaluerr+r#)r r-r4r5prrrrws    zShelf.__setitem__cCs4|j||j=z|j|=WdStyYdSwr)rr+r#r"r1r,rrrrs  zShelf.__delitem__cCs|Srrrrrr __enter__rzShelf.__enter__cCs |dSr)close)r typer4 tracebackrrr__exit__s zShelf.__exit__c Cs||jdurdSz'|z|jWn tyYnwWzt|_WdSd|_YdSzt|_Wwd|_Ywr)rsyncr:AttributeErrorr rrrrr:s$     z Shelf.closecCst|dsdS|dS)Nr!)hasattrr:rrrr__del__s  z Shelf.__del__cCsX|jr|jrd|_|jD]\}}|||<qd|_i|_t|jdr*|jdSdS)NFTr>)r!r"itemsr@rr>)r r-entryrrrr>s   z Shelf.syncNFrr)rrrr&rrr.r0rrrr9r=r:rAr>rrrrrMs"     rc@sDeZdZ  dddZddZdd Zd d Zd d ZddZdS)rNFrcCst|||||dSr)rr&r$rrrr&szBsdDbShelf.__init__cCs0|j|\}}t|}||jt|fSr)r set_locationrr'r#rr2r3rrrrEszBsdDbShelf.set_locationcCs.t|j\}}t|}||jt|fSr)nextrrr'r#rr2r3rrrrFzBsdDbShelf.nextcC.|j\}}t|}||jt|fSr)rpreviousrr'r#rr2r3rrrrIrGzBsdDbShelf.previouscCrHr)rfirstrr'r#rr2r3rrrrJrGzBsdDbShelf.firstcCrHr)rlastrr'r#rr2r3rrrrKrGzBsdDbShelf.lastrD) rrrr&rErFrIrJrKrrrrrs   rc@seZdZ dddZdS)rcNFcCs$ddl}t||||||dS)Nr)dbmrr&r )r filenameflagr%r!rMrrrr&szDbfilenameShelf.__init__rLNF)rrrr&rrrrrsrrLFcCs t||||Sr)r)rNrOr%r!rrrr s r rP)picklerrriorZcollections.abc collections__all__abcMutableMappingr rrrr rrrrs:  b+