B 3K@sZddlmZddlmZdgZGdddZeddZGdddZdd lm Z m Z d S) )ref)contextmanagerlocalc@s(eZdZdZddZddZddZdS) _localimpl)keydicts localargs locallock __weakref__cCsdtt||_i|_dS)Nz_threading_local._localimpl.)stridrr)selfr3/opt/alt/python37/lib/python3.7/_threading_local.py__init__sz_localimpl.__init__cCst}|jt|dS)N)current_threadrr )r threadrrrget_dictsz_localimpl.get_dictcshi}|j}t}t|}|ffdd }|ffdd }t||t|||j|<|f|j|<|S)Ncs}|dk r|j|=dS)N)__dict__)_rr)wrthreadrr local_deletedsz-_localimpl.create_dict..local_deletedcs}|dk r|j|}dS)N)rpop)ridtrdct)wrlocalrrthread_deletedsz._localimpl.create_dict..thread_deleted)rrr rrr)r Z localdictrrrrrr)rrr create_dicts   z_localimpl.create_dictN)__name__ __module__ __qualname__ __slots__rrrrrrrrsrc csvt|d}y |}Wn2tk rJ|}|j\}}|j||YnX|jt|d|dVWdQRXdS)N _local__implr) object__getattribute__rKeyErrorrrrr __setattr__)r implrargskwrrr_patchs   r+c@s0eZdZdZddZddZddZdd Zd S) r)r#rcOsX|s|r|jtjkrtdt|}t}||f|_t|_t|d|| |S)Nz*Initialization arguments are not supportedr#) rr$ TypeError__new__rrRLockr r'r)clsr)r*r r(rrrr-s  z local.__new__c Cs t|t||SQRXdS)N)r+r$r%)r namerrrr%s zlocal.__getattribute__c Cs:|dkrtd|jjt|t|||SQRXdS)Nrz+%r object attribute '__dict__' is read-only)AttributeError __class__rr+r$r')r r0valuerrrr's   zlocal.__setattr__c Cs8|dkrtd|jjt|t||SQRXdS)Nrz+%r object attribute '__dict__' is read-only)r1r2rr+r$ __delattr__)r r0rrrr4s   zlocal.__delattr__N)rr r!r"r-r%r'r4rrrrrs )rr.N) weakrefr contextlibr__all__rr+rZ threadingrr.rrrrs   , &