Ë
    †V.jò	  ã                  óÊ   — d dl mZ d dlZd dlmZ d dlmZ d dlmZ d dlmZ d dl	m
Z
 d dl	mZ d d	l	mZ d d
l	mZ ddlmZ ddlmZ 	 d	 	 	 	 	 dd„Zdd„Z	 	 	 	 	 	 dd„Zdd„Zy)é    )ÚannotationsN)Úexists)Újoin)Úsplitext)Ú
check_call)ÚDict)ÚList)ÚMapping)ÚOptionalé   ©Úis_posix)ÚCommandErrorc                ó    — |€t         j                  n|}	 t        |«      }t        || g«       y# t        $ r}t        d|›d�«      |‚d}~ww xY w)aÇ  
    Opens the given file in a text editor. If the environment variable
    ``EDITOR`` is set, this is taken as preference.

    Otherwise, a list of commonly installed editors is tried.

    If no editor matches, an :py:exc:`OSError` is raised.

    :param filename: The filename to open. Will be passed  verbatim to the
        editor command.
    :param environ: An optional drop-in replacement for ``os.environ``. Used
        mainly for testing.
    NzError executing editor (Ú))ÚosÚenvironÚ_find_editorr   Ú	Exceptionr   )Úfilenamer   ÚenvÚeditorÚexcs        úUC:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\alembic/util/editor.pyÚopen_in_editorr      sR   € ð   ˜Œ"�*Š*¨W€CðLÜ˜cÓ"ˆÜ�F˜HÐ%Õ&øÜò LÝºCÐAÓBÈÐKûðLús   –/ ¯	A¸AÁAc                ó   — t        «       }t        d«      D ]C  \  }}|| v sŒ| |   }t        |«      r|c S t        j                  |vsŒ2|j                  ||«       ŒE |D ]  }t        || «      }|€Œ|c S  t        d«      ‚)N)ÚEDITORÚVISUALzSNo suitable editor found. Please set the "EDITOR" or "VISUAL" environment variables)Ú_default_editorsÚ	enumerater   r   ÚsepÚinsertÚ_find_executableÚOSError)r   Ú
candidatesÚiÚvarÚuser_choiceÚ	candidateÚpaths          r   r   r   )   s�   € Ü!Ó#€JÜÐ0Ö1‰ˆˆ3Ø�'Š>Ø! #™,ˆKÜ�kÔ"Ø"Ò"Ü�v‰v˜[Ò(Ø×!Ñ! ! [Õ1ð 2ó  ˆ	Ü 	¨7Ó3ˆØÑØŠKð  ô ð	5óð ó    c                óÚ   — t         st        | «      d   dk7  r| dz  } |j                  dd«      j                  t        j
                  «      D ]  }t        || «      }t        |«      sŒ|c S  y )Nr   z.exeÚPATHÚ )r   r   ÚgetÚsplitr   Úpathsepr   r   )r)   r   r*   Úvalues       r   r#   r#   =   sc   € õ
 œ Ó+¨AÑ.°&Ò8Ø�VÑˆ	Ø—‘˜F BÓ'×-Ñ-¬b¯j©jÖ9ˆÜ�T˜9Ó%ˆÜ�%�=ØŠLð :ð r+   c                 ó   — t         rg d¢S g d¢S )N)zsensible-editorr   ÚnanoÚvimÚcode)zcode.exeznotepad++.exeznotepad.exer   © r+   r   r   r   K   s   € õ ÚCÐCâ;Ð;r+   )N)r   Ústrr   zOptional[Dict[str, str]]ÚreturnÚNone)r   úMapping[str, str]r9   r8   )r)   r8   r   r;   r9   zOptional[str])r9   z	List[str])Ú
__future__r   r   Úos.pathr   r   r   Ú
subprocessr   Útypingr   r	   r
   r   Úcompatr   r   r   r   r   r#   r   r7   r+   r   Ú<module>rA      sv   ðÝ "ã 	Ý Ý Ý Ý !Ý Ý Ý Ý å Ý ð 8<ðLØðLØ4ðLà	óLó0ð(ØðØ.ðàóô<r+   