31 lines
1.1 KiB
Python
31 lines
1.1 KiB
Python
def geo_apps():
|
|
"""
|
|
Returns a list of GeoDjango test applications that reside in
|
|
`django.contrib.gis.tests` that can be used with the current
|
|
database and the spatial libraries that are installed.
|
|
"""
|
|
from django.db import connection
|
|
from django.contrib.gis.geos import GEOS_PREPARE
|
|
from django.contrib.gis.gdal import HAS_GDAL
|
|
|
|
apps = ['geoapp', 'relatedapp']
|
|
|
|
# No distance queries on MySQL.
|
|
if not connection.ops.mysql:
|
|
apps.append('distapp')
|
|
|
|
# Test geography support with PostGIS 1.5+.
|
|
if connection.ops.postgis and connection.ops.geography:
|
|
apps.append('geogapp')
|
|
|
|
# The following GeoDjango test apps depend on GDAL support.
|
|
if HAS_GDAL:
|
|
# Geographic admin, LayerMapping, and ogrinspect test apps
|
|
# all require GDAL.
|
|
apps.extend(['geoadmin', 'layermap', 'inspectapp'])
|
|
|
|
# 3D apps use LayerMapping, which uses GDAL and require GEOS 3.1+.
|
|
if connection.ops.postgis and GEOS_PREPARE:
|
|
apps.append('geo3d')
|
|
return [('django.contrib.gis.tests', app) for app in apps]
|