ó
    z#¶gâ  ã                   óX  • S SK r S SKrS SKrSS jr\" 5       r\ R
                  \ R                  -  \ R                  -  r\	" \ S5      (       a  \\ R                  -  r\	" \ S5      (       a  \\ R                  -  r\r\	" \ S5      (       a  \\ R                  -  rSS jrS\SS	S
S4S jrS rg)é    Nc                 óÔ   • S/nU (       a  UR                  U 5        U(       a  UR                  U5        UR                  [        R                  " S5      5        SR                  U5      $ )zù
Generate filename prefix for a temporary file

Parameters
----------
package : str, optional
    package name, will be included in prefix if given
extra : str, optional
    extra string to include in prefix

Returns
-------
str
    filename prefix
Ú	reportbugz%Y%m%d%H%M%S-Ú-)ÚappendÚtimeÚstrftimeÚjoin)ÚpackageÚextraÚplists      Ú5/usr/lib/python3/dist-packages/reportbug/tempfiles.pyÚtempfile_prefixr      sL   € ð  ˆM€EÞØ�‰�WÔÞØ�‰�UÔØ	‡L�L”—’˜Ó/Ô0Ø�8‰8�E‹?Ðó    ÚO_NOINHERITÚ
O_NOFOLLOWÚO_BINARYéÿÿÿÿc                 óú   • SU;   a  [         R                  " U [        S5      nO[         R                  " U [        S5      n [         R                  " X1U5      $ ! [
         a    [         R                  " U5        e f = f)zÔ
Wrapper for open() setting some flags

Parameters
----------
filename : str
    file name
mode : str, optional
    open mode
bufsize : int, optional
    buffer size in bytes

Returns
-------
an open file object
Úbi€  )ÚosÚopenÚ_bin_openflagsÚ_text_openflagsÚfdopenÚ	ExceptionÚclose)ÚfilenameÚmodeÚbufsizeÚfds       r   Úopen_write_safer!   E   sb   € ð" ˆdƒ{Ü�WŠW�Xœ~¨uÓ5‰ä�WŠW�Xœ°Ó6ˆðÜ�yŠy˜ 7Ó+Ð+øÜó Ü
�Š�ŒØðús   ÁA Á"A:Ú Tzw+c                 óh   • [         R                  " XX#5      u  pg[        R                  " XdU5      nX‡4$ )aS  
Wrapper for tempfile.mkstemp

Main differences are that text defaults to True, and it returns a
Python file object instead of an os-level file descriptor.

Parameters
----------
suffix : str, optional
prefix : str
dir : str
text : bool
mode : str
bufsize : int

Returns
-------
(file object, str)
    tuple with file object and file name
)ÚtempfileÚmkstempr   r   )	ÚsuffixÚprefixÚdirÚtextr   r   Úfhr   r    s	            r   ÚTempFiler+   d   s0   € ô, ×#Ò# F°CÓ>�L€BÜ	�Š�2˜WÓ	%€BØˆ>Ðr   c                 óz   • [         R                  R                  U 5      (       a  [         R                  " U 5        gg)z·
Clean up a temporary file

Removes (unlinks) the named file if it exists.

Parameters
----------
temp_filename : str
    Full filename of the file to clean up.

Returns
-------
None
N)r   ÚpathÚexistsÚunlink)Útemp_filenames    r   Úcleanup_temp_filer1      s(   € ô 
‡w�w‡~�~�m×$Ñ$Ü
�	Š	�-Õ ð %r   )NN)zw+br   )r   r$   r   r   ÚtemplateÚO_RDWRÚO_CREATÚO_EXCLr   Úhasattrr   r   r   r   r!   r+   r1   © r   r   Ú<module>r8      s±   ðó. 
Û Û ôñ2 Ó€ð —)‘)˜bŸj™jÑ(¨2¯9©9Ñ4€Ù
ˆ2ˆ}×ÑØ�r—~‘~Ñ%€OÙ
ˆ2ˆ|×ÑØ�r—}‘}Ñ$€Oà €Ù
ˆ2ˆz×ÑØ�b—k‘kÑ!€Nô
ð> ˜x¨T¸Ø ôó6!r   