î
ªÍ X¼  ã               @   s†   d  d l  m Z d  d l m Z d  d l m Z d  d l m Z m	 Z
 d  d l m Z d  d l m Z m Z Gd d „  d e ƒ Z d	 S)
é    )Úc_void_p)ÚGDALBase)ÚGDALException)ÚdsÚraster)Úsix)Úforce_bytesÚ
force_textc               @   s©   e  Z d  Z d Z i	 d d 6d d 6d d 6d d 6d d 6d	 d
 6d	 d 6d d 6d d 6Z d d „  Z d d „  Z e d d „  ƒ Z e d d „  ƒ Z	 e
 d d „  ƒ Z d S)ÚDriverz¯
    Wraps a GDAL/OGR Data Source Driver.
    For more information, see the C API source code:
    http://www.gdal.org/gdal_8h.html - http://www.gdal.org/ogr__api_8h.html
    zESRI ShapefileZesriZshpÚshapeZTIGERZtigerz
tiger/lineZGTiffZtiffZtifZJPEGZjpegZjpgc             C   s2  t  | t j ƒ r† |  j ƒ  | j ƒ  |  j k rG |  j | j ƒ  } n | } x¶ t t f D]% } | j t	 | ƒ ƒ } | rZ PqZ qZ Wn€ t  | t
 ƒ rÒ |  j ƒ  xd t t f D] } | j | ƒ } | r¬ Pq¬ q¬ Wn4 t  | t ƒ rê | } n t d t t | ƒ ƒ ƒ ‚ | s%t d t | ƒ ƒ ‚ n  | |  _ d S)zU
        Initializes an GDAL/OGR driver on either a string or integer input.
        z/Unrecognized input type for GDAL/OGR Driver: %sz1Could not initialize GDAL/OGR Driver on input: %sN)Ú
isinstancer   Ústring_typesÚensure_registeredÚlowerÚ_aliasÚvcapiÚrcapiZget_driver_by_namer   ÚintZ
get_driverr   r   ÚstrÚtypeÚptr)ÚselfZdr_inputÚnameZifaceZdriver© r   úL/home/ubuntu/projects/ifolica/build/django/django/contrib/gis/gdal/driver.pyÚ__init__#   s*    

	zDriver.__init__c             C   s   |  j  S)N)r   )r   r   r   r   Ú__str__G   s    zDriver.__str__c             C   s'   |  j  ƒ  s# t j ƒ  t j ƒ  n  d S)zC
        Attempts to register all the data source drivers.
        N)Údriver_countr   Zregister_allr   )Úclsr   r   r   r   J   s    
zDriver.ensure_registeredc             C   s   t  j ƒ  t j ƒ  S)zP
        Returns the number of GDAL/OGR data source drivers registered.
        )r   Zget_driver_countr   )r   r   r   r   r   U   s    zDriver.driver_countc             C   s   t  t j |  j ƒ ƒ S)zB
        Returns description/name string for this driver.
        )r	   r   Zget_driver_descriptionr   )r   r   r   r   r   \   s    zDriver.nameN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   Úclassmethodr   r   Úpropertyr   r   r   r   r   r
   
   s    
$r
   N)Úctypesr   Zdjango.contrib.gis.gdal.baser   Zdjango.contrib.gis.gdal.errorr   Z"django.contrib.gis.gdal.prototypesr   r   r   r   Zdjango.utilsr   Zdjango.utils.encodingr   r	   r
   r   r   r   r   Ú<module>   s   