diff -r b758351d191f -r cc9b7e14412b web/lib/django/contrib/gis/db/backend/postgis/management.py --- a/web/lib/django/contrib/gis/db/backend/postgis/management.py Wed May 19 17:43:59 2010 +0200 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,54 +0,0 @@ -""" - This utility module is for obtaining information about the PostGIS - installation. - - See PostGIS docs at Ch. 6.2.1 for more information on these functions. -""" -import re - -def _get_postgis_func(func): - "Helper routine for calling PostGIS functions and returning their result." - from django.db import connection - cursor = connection.cursor() - cursor.execute('SELECT %s()' % func) - row = cursor.fetchone() - cursor.close() - return row[0] - -### PostGIS management functions ### -def postgis_geos_version(): - "Returns the version of the GEOS library used with PostGIS." - return _get_postgis_func('postgis_geos_version') - -def postgis_lib_version(): - "Returns the version number of the PostGIS library used with PostgreSQL." - return _get_postgis_func('postgis_lib_version') - -def postgis_proj_version(): - "Returns the version of the PROJ.4 library used with PostGIS." - return _get_postgis_func('postgis_proj_version') - -def postgis_version(): - "Returns PostGIS version number and compile-time options." - return _get_postgis_func('postgis_version') - -def postgis_full_version(): - "Returns PostGIS version number and compile-time options." - return _get_postgis_func('postgis_full_version') - -### Routines for parsing output of management functions. ### -version_regex = re.compile('^(?P\d)\.(?P\d)\.(?P\d+)') -def postgis_version_tuple(): - "Returns the PostGIS version as a tuple." - - # Getting the PostGIS version - version = postgis_lib_version() - m = version_regex.match(version) - if m: - major = int(m.group('major')) - minor1 = int(m.group('minor1')) - minor2 = int(m.group('minor2')) - else: - raise Exception('Could not parse PostGIS version string: %s' % version) - - return (version, major, minor1, minor2)