Example #1
0
    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
Example #3
0
    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