
    Dh8                     f   S SK r S SKJr  S SKJr  \" 5       r\" / SQ5      qSSSS.SS	SS
SS.SS	SSS	SSS.S.rS r	S r
\
" 5         S rS rSSS	SSSS.SSS	SS.SSS	SSSS.S.rS rSS	SSSSSSSSSSS.SS	SSSSS.SSSSSSSSSS.	S.rS rSSSSSS .SSSSSSSSSSS!.
S".rS# rSSSS$.rS% rg)&    N)Env)get_gdal_version_tuple))
AeronavFAAr)ARCGENr   )BNArw)DXFr	   )CSVraw)FileGDBr   )OpenFileGDBr   )ESRIJSONr   )ESRI Shapefiler   )
FlatGeobufr   )GeoJSONr   )
GeoJSONSeqr   )GPKGr   )GMLr	   )GMTr	   )OGR_GMTr	   )GPXr	   )Idrisir   )MapInfo Filer   )DGNr   )Parquetr	   )PCIDSKr   )PDSr   )OGR_PDSr   )S57r   )SEGYr   )SQLiter   )SUAr   )TileDBr   )TopoJSONr   )      r   )      r   )   r&   r   )r   r   r   )r(   r   r   )r*   r&   r*   )r*      r   )r   r   r   r   r   )r(   r&   r   )r*      r&   )r   r   r   r   r   r   r   )r   wac                 z    U [         ;  a  gU[         U    ;  a  gU [        U   ;   a  [        [        U   U    :  a  gg)znReturns True if driver supports mode, False otherwise

Note: this function is not part of Fiona's public API.
FT)supported_driversdriver_mode_mingdal_GDAL_VERSION)drivermodes     cC:\Users\julio\OneDrive\Documentos\Trabajo\Ideas Frescas\venv\Lib\site-packages\fiona/drvsupport.py_driver_supports_moder6      sH    
 &&$V,,$T**.t4V<<    c                      [        5        n U R                  5       R                  5       n[        R	                  5       n[        R                  5        H  nX1;  d  M
  X#	 M     S S S 5        Uqg ! , (       d  f       Wqg = f)N)r   driverskeysr0   copy)gdalenvogrdrv_namessupported_drivers_copydrvs       r5   _filter_supported_driversr@      sk     
'(--/!2!7!7!9$))+C&*/ , 
 / 
 /s   AA-A--
A=c                      SSK Jn   0 n[        R                  5        H8  u  p#U " U5      =(       d    S H  nSU;   d  M  UR	                  XB5      X'   M      M:     U$ )z<
Returns
-------
dict:
    Map of extensions to the driver.
r   )
extensions r-   )
fiona.metarB   r0   itemsget)rB   extension_to_driverr?   modes	extensions        r5   vector_driver_extensionsrJ      s[     &'--/
#C.B.Ie|1D1H1H1X#. / 0
 r7   c                     U R                   n [        5       n U[        R                  R                  U 5      S   R                  S5      R                  5          $ ! [         a     NYf = f! [         a    [        S5      ef = f)z
Attempt to auto-detect driver based on the extension.

Parameters
----------
path: str or pathlike object
    The path to the dataset to write with.

Returns
-------
str:
    The name of the driver for the extension.
.z/Unable to detect driver. Please specify driver.)
nameAttributeErrorrJ   ospathsplitextlstriplowerKeyError
ValueError)rQ   driver_extensionss     r5   driver_from_extensionrX      s     yy 12L !1!1$!7!;!B!B3!G!M!M!OPP    LJKKLs   A AA+ 
A('A(+B)r   r   r   r   r   r   )r   r   r   r   )r   r   r   r   r   r   )timedatetimedatec                 x    U[         ;   a0  U [         U   ;   a#  [         U   U    c  g[        [         U   U    :  a  gg)zReturns True if the driver converts the field_type silently to str, False otherwise

Note: this function is not part of Fiona's public API.
TF)_driver_converts_to_strr2   r3   
field_types     r5   +_driver_converts_field_type_silently_to_strr`   "  sG    
 ,,;RS];^1^":.v6>4Z@HHr7   )r*   r,   r   )r   r   r   GPSTrackMakerr   r   r   r
   r   r   r   r   )r   r   r   r   r
   r   )	r   ra   r   r   r
   r   r   r   r   c                 x    U[         ;   a0  U [         U   ;   a#  [         U   U    c  g[        [         U   U    :  a  gg)z|Returns True if the driver supports the field_type, False otherwise

Note: this function is not part of Fiona's public API.
FT)_driver_field_type_unsupportedr2   r^   s     r5   _driver_supports_fieldrd   U  sG    
 33B`akBl8l)*5f=E;JGOOr7   )r*   r&   r&   )r   r   ra   r   r"   )
r   r   ra   r   r   r   r   r   r   r"   )rZ   rY   c                 x    U[         ;   a0  U [         U   ;   a#  [         U   U    c  g[        [         U   U    :  a  gg)zReturns True if the driver supports timezones for field_type, False otherwise

Note: this function is not part of Fiona's public API.
FT)!_drivers_not_supporting_timezonesr2   r^   s     r5   _driver_supports_timezonesrg   {  sG    
 666EfgqEr;r,Z8@H>zJ6RRr7   )ra   r   r   c                 |    [         R                  S:  a  gU [        ;   a  [        U    c  g[        U    [         :  a  gg)zzReturns True if the driver supports milliseconds, False otherwise

Note: this function is not part of Fiona's public API.
r(   FT)r2   major$_drivers_not_supporting_milliseconds)r3   s    r5   _driver_supports_millisecondsrk     s?     Q55/7?1&9MIr7   )rP   	fiona.envr   
fiona._envr   r2   dictr0   r1   r6   r@   rJ   rX   r]   r`   rc   rd   rf   rg   rj   rk   rC   r7   r5   <module>ro      s   	  - '( IK ^ IY	O 
 ! 
 *$
/  $LF  	  4
    
/"" J" " % !.
 ( $r7   