a )gh @srddlmZmZmZeZddlZddlZddlm Z ddl m Z ddl m Z mZdZGddde Zed d ZdS) )absolute_importdivisionprint_functionN)MutableMapping)PY3)to_bytesto_text)environc@sBeZdZdZdddZddZddZd d Zd d Zd dZ dS) _TextEnvironz Utility class to return text strings from the environment instead of byte strings Mimics the behaviour of os.environ on Python3 NcCs8|durtj}||_i|_|dur.t|_n||_dSN)osr _raw_environ _value_cachesysgetfilesystemencodingencoding)selfenvrr;/usr/lib/python3.9/site-packages/ansible/utils/py3compat.py__init__s z_TextEnviron.__init__cCs |j|=dSr )r )rkeyrrr __delitem__-sz_TextEnviron.__delitem__cCs>|j|}tr|S||jvr4t||jddd|j|<|j|S)NZpassthrusurrogate_or_strictrZ nonstringerrors)r rrrrrrvaluerrr __getitem__0s   z_TextEnviron.__getitem__cCst||jddd|j|<dS)Nstrictrr)rrr rrrr __setitem__;s z_TextEnviron.__setitem__cCs |jSr )r __iter__rrrrr!?sz_TextEnviron.__iter__cCs t|jSr )lenr r"rrr__len__Bsz_TextEnviron.__len__)NN) __name__ __module__ __qualname____doc__rrrr r!r$rrrrr s  r zutf-8)r)Z __future__rrrtypeZ __metaclass__r rcollections.abcrZansible.module_utils.sixrZansible.module_utils._textrr__all__r r rrrr s  -