B
    .Kcz                 @   sT   d Z ddlZddlmZmZ ddlmZ eedddZe	feeeddd	d
Z
dS )z'Stuff for Python version compatibility.    N)AnyCallable)RemovedInSphinx60Warning)filepathreturnc          
   C   s   t jdtdd y ddlm} ddlm}m} W n( tk
rX } z
t	|W d d }~X Y nX |d}||}|
| d }y||d}W nH |k
r }	 z*|	jd	 \}
}t	|	j| |
||	jf|	W d d }	~	X Y nX t|S )
Nz!convert_with_2to3() is deprecated   )
stacklevelr   )
ParseError)RefactoringToolget_fixers_from_packagezlib2to3.fixeszconf.py   )warningswarnr   Zlib2to3.pgen2.parser	   Zlib2to3.refactorr
   r   ImportErrorSyntaxErrorZ_read_python_sourceZrefactor_stringcontextmsgvaluestr)r   r	   r
   r   excZfixersZrefactoring_toolsourceZtreeerrlinenooffset r   3lib/python3.7/site-packages/sphinx/util/pycompat.pyconvert_with_2to3   s     
*r   )r   _globalsopenr   c          	   C   s^   t jdtdd ddlm} || d}| }W d Q R X | |}t||d}t|| d S )Nzexecfile_() is deprecatedr   )r   r   )fs_encodingrbexec)	r   r   r   Zsphinx.util.osutilr   readencodecompiler!   )r   r   r   r   fr   Zfilepath_enccoder   r   r   	execfile_)   s    

r'   )__doc__r   typingr   r   Zsphinx.deprecationr   r   r   r   r'   r   r   r   r   <module>   s
   