B VXY @s&dZddlmZGdddeeZdS)zsDrop-in replacement for collections.OrderedDict by Raymond Hettinger http://code.activestate.com/recipes/576693/ ) DictMixinc@seZdZddZddZddZddZd d Zd d ZdddZ ddZ ddZ e j Z e jZe jZe jZe jZe jZe jZe jZddZddZed ddZddZddZdS)! OrderedDictcOsTt|dkrtdt|y |jWntk rB|YnX|j||dS)Nz$expected at most 1 arguments, got %d)len TypeError_OrderedDict__endAttributeErrorclearupdate)selfargskwdsrJ/opt/alt/python37/lib64/python3.7/site-packages/simplejson/ordered_dict.py__init__ s  zOrderedDict.__init__cCs,g|_}|d||g7}i|_t|dS)N)r_OrderedDict__mapdictr )r endrrrr s zOrderedDict.clearcCsH||kr6|j}|d}|||g|d<|d<|j|<t|||dS)Nr)rrr __setitem__)r keyvaluercurrrrrrs  zOrderedDict.__setitem__cCs2t|||j|\}}}||d<||d<dS)Nrr)r __delitem__rpop)r rprevnextrrrr s zOrderedDict.__delitem__ccs2|j}|d}x||k r,|dV|d}qWdS)Nrr)r)r rrrrr__iter__&s   zOrderedDict.__iter__ccs2|j}|d}x||k r,|dV|d}qWdS)Nrr)r)r rrrrr __reversed__-s   zOrderedDict.__reversed__TcCs:|s td|rt|n t|}||}||fS)Nzdictionary is empty)KeyErrorreversedriterr)r Zlastrrrrrpopitem4s  zOrderedDict.popitemcs\fddD}jjf}``t}|\__|rPj|f|fSj|ffS)Ncsg|]}||gqSrr).0k)r rr <sz*OrderedDict.__reduce__..)rrvarscopy __class__)r itemsZtmpZ inst_dictr)r r __reduce__;s   zOrderedDict.__reduce__cCst|S)N)list)r rrrkeysEszOrderedDict.keyscCs&|sd|jjfSd|jj|fS)Nz%s()z%s(%r))r(__name__r))r rrr__repr__QszOrderedDict.__repr__cCs ||S)N)r()r rrrr'VszOrderedDict.copyNcCs |}x|D] }|||<q W|S)Nr)clsiterablerdrrrrfromkeysYs  zOrderedDict.fromkeyscCsFt|tr:t|t|ko8tddt||DSt||S)Ncss|]\}}||kVqdS)Nr)r#pqrrr csz%OrderedDict.__eq__..) isinstancerrallzipr)r__eq__)r otherrrrr9`s  zOrderedDict.__eq__cCs ||k S)Nr)r r:rrr__ne__fszOrderedDict.__ne__)T)N)r- __module__ __qualname__rr rrrrr"r*r,r setdefaultr rvaluesr)ZiterkeysZ itervaluesZ iteritemsr.r' classmethodr2r9r;rrrrrs.    rN)__doc__UserDictrrrrrrrs