U
    àåf†  ã                   @   s&   d dl Z d dlmZ G dd„ dƒZdS )é    N)Úmodelsc                   @   sð   e Zd ZdZdZdZdZdZdZdZ	dZ
dZdZdZdZdZdZdZdZdZdZdZdZi ZdZedd„ ƒZedd„ ƒZedd„ ƒZed	d
„ ƒZedd„ ƒZedd„ ƒZedd„ ƒZ edd„ ƒZ!edd„ ƒZ"edd„ ƒZ#edd„ ƒZ$dd„ Z%dS )ÚBaseSpatialFeaturesTFc                 C   s   d| j jjkS )NZ
bbcontains©Ú
connectionÚopsZgis_operators©Úself© r	   úP/tmp/pip-unpacked-wheel-_jot26k8/django/contrib/gis/db/backends/base/features.pyÚsupports_bbcontains_lookup=   s    z.BaseSpatialFeatures.supports_bbcontains_lookupc                 C   s   d| j jjkS )NZ	containedr   r   r	   r	   r
   Úsupports_contained_lookupA   s    z-BaseSpatialFeatures.supports_contained_lookupc                 C   s   d| j jjkS )NZcrossesr   r   r	   r	   r
   Úsupports_crosses_lookupE   s    z+BaseSpatialFeatures.supports_crosses_lookupc                 C   s   | j S ©N)Zhas_Distance_functionr   r	   r	   r
   Úsupports_distances_lookupsI   s    z.BaseSpatialFeatures.supports_distances_lookupsc                 C   s   d| j jjkS )NZdwithinr   r   r	   r	   r
   Úsupports_dwithin_lookupM   s    z+BaseSpatialFeatures.supports_dwithin_lookupc                 C   s   d| j jjkS )NZrelater   r   r	   r	   r
   Úsupports_relate_lookupQ   s    z*BaseSpatialFeatures.supports_relate_lookupc                 C   s   | j S r   )Zhas_IsValid_functionr   r	   r	   r
   Úsupports_isvalid_lookupU   s    z+BaseSpatialFeatures.supports_isvalid_lookupc                 C   s   t j| jjjkS r   )r   ZCollectr   r   Údisallowed_aggregatesr   r	   r	   r
   Úsupports_collect_aggrZ   s    z)BaseSpatialFeatures.supports_collect_aggrc                 C   s   t j| jjjkS r   )r   ZExtentr   r   r   r   r	   r	   r
   Úsupports_extent_aggr^   s    z(BaseSpatialFeatures.supports_extent_aggrc                 C   s   t j| jjjkS r   )r   ZMakeLiner   r   r   r   r	   r	   r
   Úsupports_make_line_aggrb   s    z+BaseSpatialFeatures.supports_make_line_aggrc                 C   s   t j| jjjkS r   )r   ÚUnionr   r   r   r   r	   r	   r
   Úsupports_union_aggrf   s    z'BaseSpatialFeatures.supports_union_aggrc                 C   s.   t  d|¡}|r&|d }|| jjjkS t‚d S )Nzhas_(\w*)_function$é   )ÚreÚmatchr   r   Zunsupported_functionsÚAttributeError)r   ÚnameÚmÚ	func_namer	   r	   r
   Ú__getattr__j   s
    zBaseSpatialFeatures.__getattr__N)&Ú__name__Ú
__module__Ú__qualname__Zgis_enabledZhas_spatialrefsys_tableZsupports_add_srs_entryZ%supports_geometry_field_introspectionZsupports_geographyZsupports_3d_storageZsupports_3d_functionsZsupports_transformZsupports_null_geometriesZsupports_empty_geometriesZsupports_distance_geodeticZsupports_length_geodeticZsupports_perimeter_geodeticZsupports_area_geodeticZsupports_num_points_polyZsupports_dwithin_distance_exprZsupports_rasterZ$supports_geometry_field_unique_indexZcan_alter_geometry_fieldZsupports_tolerance_parameterZunsupported_geojson_optionsZempty_intersection_returns_noneÚpropertyr   r   r   r   r   r   r   r   r   r   r   r    r	   r	   r	   r
   r      sZ   










r   )r   Zdjango.contrib.gis.dbr   r   r	   r	   r	   r
   Ú<module>   s   