unsupported ˆÁÉ 0ÈÅË ˆ¿É „.6çÈÅË?÷a ´i;mã@sôdZgd¢ZddlZddlZddlZddlZ ddl Z ddl Z ddlmZddlZddlZddlZddlZejZe je jBe jBZee dƒr”ee jOZeZ ee dƒr¬e e j!OZ ee dƒr¾e j"Z"ndZ"d Z#eƒZ$d d „Z%d d „Z&dd„Z'Gdd„dƒZ(dd„Z)dd„Z*da+dd„Z,dd„Z-dd„Z.dd„Z/dd„Z0d d!„Z1da2d"d#„Z3d$d%„Z4dAd'd(„Z5dBd)d*„Z6d+e#dfd,d-„Z7Gd.d/„d/ƒZ8Gd0d1„d1ƒZ9dCdd5œd6d7„Z:e j;d8k�s²ejdDdd5œd;d<„Z=Gd=d>„d>ƒZ?Gd?d@„d@e@ƒZAdS)Ea�Temporary files. This module provides generic, low- and high-level interfaces for creating temporary files and directories. All of the interfaces provided by this module can be used without fear of race conditions except for 'mktemp'. 'mktemp' is subject to race conditions and should not be used; it is provided for backward compatibility only. The default path names are returned as str. If you supply bytes as input, all return values will be in bytes. Ex: >>> tempfile.mkstemp() (4, '/tmp/tmptpu9nin8') >>> tempfile.mkdtemp(suffix=b'') b'/tmp/tmppbi8f0hy' This module also provides some data items to the user: TMP_MAX - maximum number of names that will be tried before giving up. tempdir - If this is set to a string before the first use of any routine from this module, it will be considered as another candidate location to store temporary files. ) ÚNamedTemporaryFileÚ TemporaryFileÚSpooledTemporaryFileÚTemporaryDirectoryÚmkstempÚmkdtempÚmktempÚTMP_MAXÚ gettempprefixÚtempdirÚ gettempdirÚgettempprefixbÚ gettempdirbéN)ÚRandomÚ O_NOFOLLOWÚO_BINARYri'ÚtmpcCs,zt |¡Wnty"YdS0dSdS)NFT)Ú_osÚlstatÚOSError)Úfn©rú /usr/lib64/python3.9/tempfile.pyÚ_existsLs  rcGsrd}|D]X}|durqt|tjƒr,t |¡}t|tƒrL|turFtdƒ‚t}q|tur\tdƒ‚t}q|durntS|S)zBLook at the type of all args and divine their implied return type.Nz1Can't mix bytes and non-bytes in path components.)Ú isinstancerÚPathLikeÚfspathÚbytesÚstrÚ TypeError)ÚargsÚ return_typeÚargrrrÚ_infer_return_typeUs    r#cCsdt|||ƒ}|dur|ƒ}|dur:|tur0t}n t t¡}|durX|turRtƒ}ntƒ}||||fS)z9Common parameter processing for most APIs in this module.N)r#rÚtemplaterÚfsencoder r )ÚprefixÚsuffixÚdirÚ output_typerrrÚ_sanitize_paramsns  r*c@s0eZdZdZdZedd„ƒZdd„Zdd„Zd S) Ú_RandomNameSequencea,An instance of _RandomNameSequence generates an endless sequence of unpredictable strings which can safely be incorporated into file names. Each string is eight characters long. Multiple threads can safely use the same instance at the same time. _RandomNameSequence is an iterator.Ú%abcdefghijklmnopqrstuvwxyz0123456789_cCs,t ¡}|t|ddƒkr&tƒ|_||_|jS)NÚ_rng_pid)rÚgetpidÚgetattrÚ_RandomÚ_rngr-)ÚselfÚcur_pidrrrÚrngŠs z_RandomNameSequence.rngcCs|S©Nr©r2rrrÚ__iter__’sz_RandomNameSequence.__iter__cs0|j‰|jj‰‡‡fdd„tdƒDƒ}d |¡S)Ncsg|] }ˆˆƒ‘qSrr)Ú.0Údummy©ÚcÚchooserrÚ ˜óz0_RandomNameSequence.__next__..éÚ)Ú charactersr4ÚchoiceÚrangeÚjoin)r2Úlettersrr:rÚ__next__•sz_RandomNameSequence.__next__N) Ú__name__Ú __module__Ú __qualname__Ú__doc__rAÚpropertyr4r7rFrrrrr+€s  r+c Cs g}dD]}t |¡}|r| |¡qtjdkrX|