def versionCheck(self): '''SpatiaLite/SQLite version checker''' from VersionUtilities import VersionChecker,UnsupportedVersionException #gets the version number of the sqlite data file #slv_cmd = 'file '+str(self._commonURI(None)) #slv_ver = VersionChecker.getVersionFromShell(slv_cmd,'SQLite (\d+\.\w+) database') #Gets the version of the sqlite application #slv_cmd = 'sqlite -version' #slv_ver = VersionChecker.getVersionFromShell(slv_cmd,'(\d+\.*\d*\.*\d*)') slv_ver = None try: #http://www.gaia-gis.it/gaia-sins/spatialite-sql-3.0.0.html slv_cmd = 'select spatialite_version()' slv_ver = self.executeSQL(slv_cmd).GetFeature(0).GetField(0) except Exception as e: ldslog.warn('Error reading SpatiaLite version. Check installation. '+str(e)) if VersionChecker.compareVersions(VersionChecker.SpatiaLite_MIN, slv_ver if slv_ver else VersionChecker.SpatiaLite_MIN): raise UnsupportedVersionException('SpatiaLite version '+str(slv_ver)+' does not meet required minumum '+str(VersionChecker.SpatiaLite_MIN)) ldslog.info(self.DRIVER_NAME+' version '+str(slv_ver)) return True
def versionCheck(self): '''SpatiaLite/SQLite version checker''' from VersionUtilities import VersionChecker, UnsupportedVersionException #gets the version number of the sqlite data file #slv_cmd = 'file '+str(self._commonURI(None)) #slv_ver = VersionChecker.getVersionFromShell(slv_cmd,'SQLite (\d+\.\w+) database') #Gets the version of the sqlite application #slv_cmd = 'sqlite -version' #slv_ver = VersionChecker.getVersionFromShell(slv_cmd,'(\d+\.*\d*\.*\d*)') slv_ver = None try: #http://www.gaia-gis.it/gaia-sins/spatialite-sql-3.0.0.html slv_cmd = 'select spatialite_version()' slv_ver = self.executeSQL(slv_cmd).GetFeature(0).GetField(0) except Exception as e: ldslog.warn( 'Error reading SpatiaLite version. Check installation. ' + str(e)) if VersionChecker.compareVersions( VersionChecker.SpatiaLite_MIN, slv_ver if slv_ver else VersionChecker.SpatiaLite_MIN): raise UnsupportedVersionException( 'SpatiaLite version ' + str(slv_ver) + ' does not meet required minumum ' + str(VersionChecker.SpatiaLite_MIN)) ldslog.info(self.DRIVER_NAME + ' version ' + str(slv_ver)) return True
def versionCheck(self): '''Postgres/Postgis version checker''' from VersionUtilities import VersionChecker,UnsupportedVersionException pgv_cmd = 'SELECT version()' pgisv_cmd = 'SELECT postgis_full_version()' pgv_res = re.search('PostgreSQL\s+(\d+\.\d+\.\d+)',self.executeSQL(pgv_cmd).GetNextFeature().GetFieldAsString(0)) pgisv_res = re.search('POSTGIS=\"(\d+\.\d+\.\d+)',self.executeSQL(pgisv_cmd).GetNextFeature().GetFieldAsString(0)) if VersionChecker.compareVersions(VersionChecker.PostgreSQL_MIN, pgv_res.group(1) if pgv_res else VersionChecker.PostgreSQL_MIN): raise UnsupportedVersionException('PostgreSQL version '+str(pgv_res.group(1))+' does not meet required minumum '+str(VersionChecker.PostgreSQL_MIN)) if VersionChecker.compareVersions(VersionChecker.PostGIS_MIN, pgisv_res.group(1) if pgisv_res else VersionChecker.PostGIS_MIN): raise UnsupportedVersionException('PostGIS version '+str(pgisv_res.group(1))+' does not meet required minumum '+str(VersionChecker.PostGIS_MIN)) ldslog.info(self.DRIVER_NAME+' version '+str(pgv_res.group(1))) ldslog.info('PostGIS version '+str(pgisv_res.group(1))) return True
def versionCheck(self): '''MSSQL version checker''' #Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 #Microsoft SQL Server 2008 (SP3) - 10.0.5500.0 (X64) Sep 21 2011 22:45:45 Copyright (c) 1988-2008 Microsoft Corporation Standard Edition (64-bit) on Windows NT 5.2 <X64> (Build 3790: Service Pack 2) (VM) from VersionUtilities import VersionChecker,UnsupportedVersionException msv_cmd = 'SELECT @@version' msv_res = re.search('Microsoft SQL Server.+- (\d+\.\d+\.\d+\.*\d*)',self.executeSQL(msv_cmd).GetNextFeature().GetFieldAsString(0)) if VersionChecker.compareVersions(VersionChecker.MSSQL_MIN, msv_res.group(1) if msv_res else VersionChecker.MSSQL_MIN): raise UnsupportedVersionException('MSSQL version '+str(msv_res.group(1))+' does not meet required minumum '+str(VersionChecker.MSSQL_MIN)) ldslog.info(self.DRIVER_NAME+' version '+str(msv_res.group(1))) return True