U
    8ÄT_Á  ã                   @   s(   d dl mZmZmZ dd„ Zdd„ ZdS )é    )ÚGEOSGeometryÚ	hex_regexÚ	wkt_regexc              	   C   s�   t | tƒr*t| dƒ�} |  ¡ }W 5 Q R X n|  ¡ }t |tƒr|z| ¡ }W n tk
r\   Y q„X t |¡srt	 |¡r„t
|ƒS nt
|ƒS t
t|ƒƒS )zf
    Given a string file name, returns a GEOSGeometry. The file may contain WKB,
    WKT, or HEX.
    Úrb)Ú
isinstanceÚstrÚopenÚreadÚbytesÚdecodeÚUnicodeDecodeErrorr   Úmatchr   r   Ú
memoryview)Zfile_hÚbufÚdecoded© r   úC/tmp/pip-unpacked-wheel-dv63caxw/django/contrib/gis/geos/factory.pyÚfromfile   s    


r   c                 K   s   t | f|ŽS )z3Given a string value, return a GEOSGeometry object.)r   )ÚstringÚkwargsr   r   r   Úfromstr   s    r   N)Z django.contrib.gis.geos.geometryr   r   r   r   r   r   r   r   r   Ú<module>   s   