
    g                        S SK Jr  S SKrS SKJr  S SKrS SKrS SKrS SKrS SK	r	S SK
r
S SKJr  S SKJr  S SKJr  S SKJr  S SKJr  S	S
KJr  S	SKJr            SS jrSS jrSS jrSS jrSS jrg)    )annotationsN)	ExitStack)
ModuleType)Any)Optional)
exceptions)Template   )compat)CommandErrorc                   [        U S9n UR                  " S0 UD6R                  U5      n[        US5       nUR	                  U5        S S S 5        g ! , (       d  f       g = f!   [
        R                  " SSS9 nUR	                  [        R                  " 5       R                  5       R                  U5      5        UR                  nS S S 5        O! , (       d  f       O= f[        SW-  5      e= f)N)filenamewbz.txtF)suffixdeletezDTemplate rendering failed; see %s for a template-oriented traceback. )r	   render_unicodeencodeopenwritetempfileNamedTemporaryFiler   text_error_templatenamer   )	template_filedestoutput_encodingkwtemplateoutputfntffnames	            \/Users/Alptekin/Desktop/izin_takip/venv/lib/python3.13/site-packages/alembic/util/pyfiles.pytemplate_to_filer%      s     /H((.2.55oF $GGFO 
((uEII..0!(
 HHE FEE +-23
 	
s/   !A$ A
A!$C1;AC		C1
C 	C1c                   [         R                  R                  U 5      (       d  SU ;   a  U R                  S5      n[	        5       n[
        R                  " UR                  5        [        R                  R                  US   5      nUSS  H  nX4-  nM	     UR                  [        R                  R                  U5      5      n U $ )zInterpret a filename as either a filesystem location or as a package
resource.

Names that are non absolute paths and contain a colon
are interpreted as resources and coerced to a file location.

:r   r
   N)ospathisabssplitr   atexitregistercloser   importlib_resourcesfilesenter_contextas_file)r#   tokensfile_managerreftoks        r$   coerce_resource_to_filenamer7   -   s     77==C5LS! !{**+((..vay9!":C)C **&&..s3
 L    c                j   [         R                  R                  U 5      n[        R                  R                  U5      (       a  U$ [        R                  R                  U 5      u  p#[         R                  R                   H/  n[        R                  R                  X#-   5      (       d  M+  X#-   s  $    g)z,Given a python source path, locate the .pyc.N)		importlibutilcache_from_sourcer(   r)   existssplitext	machineryBYTECODE_SUFFIXES)r)   	candidatefilepathexts       r$   pyc_file_from_pathrD   F   s     006I	ww~~i   GG$$T*MH""4477>>(.))>! 5 r8   c                   [         R                  " SSU5      n[        R                  R	                  X5      n[        R                  R                  U5      u  pEUS:X  a[  [        R                  R                  U5      (       a  [        X#5      nU$ [        U5      nUc  [        SU-  5      e[        X'5      n U$ US;   a  [        X#5      nU$  e)z3Load a file from the given path as a Python module.z\W_z.pyzCan't find Python file %s)z.pycz.pyo)
resubr(   r)   joinr>   r=   load_module_pyrD   ImportError)dir_r   	module_idr)   rF   rC   modulepyc_paths           r$   load_python_filerP   W   s     uc8,I77<<'DWWh'FA
e|77>>$#I4F M *$/H!"="DEE'	<
 M	 
 	 	0 M 	ur8   c                    [         R                  R                  X5      nU(       d   e[         R                  R                  U5      nUR                  R                  U5        U$ )N)r:   r;   spec_from_file_locationmodule_from_specloaderexec_module)rM   r)   specrN   s       r$   rJ   rJ   m   sH    >>11)BDK4^^,,T2FKKF#Mr8   )
r   strr   rW   r   rW   r   r   returnNone)r#   rW   rX   rW   )r)   rW   rX   zOptional[str])rL   rW   r   rW   rX   r   )rM   rW   r)   rW   rX   r   )
__future__r   r,   
contextlibr   r:   importlib.machineryimportlib.utilr(   rG   r   typesr   typingr   r   makor   mako.templater	    r   excr   r%   r7   rD   rP   rJ   r   r8   r$   <module>rd      sv    "       	 	      "  !47?B	.2",r8   