Skip to content
Permalink
Browse files

[processing] rename GdalOgr provider to Gdal provider

Show version numbers in providers descriptions
  • Loading branch information
alexbruy committed Dec 31, 2016
1 parent 248e7d1 commit ce9c08f3f669de1910c497d19f9ffbe6ef12e9a4
@@ -86,7 +86,7 @@
os.path.split(os.path.dirname(__file__))[0], os.pardir))


class GdalOgrAlgorithmProvider(AlgorithmProvider):
class GdalAlgorithmProvider(AlgorithmProvider):

"""This provider incorporates GDAL-based algorithms into the
Processing framework.
@@ -100,10 +100,11 @@ def __init__(self):
self.createAlgsList()

def getDescription(self):
return self.tr('GDAL/OGR')
version = GdalUtils.readableVersion()
return 'GDAL ({})'.format(version)

def getName(self):
return 'gdalogr'
return 'gdal'

def getIcon(self):
return QIcon(os.path.join(pluginPath, 'images', 'gdal.svg'))
@@ -186,3 +186,7 @@ def escapeAndJoin(strList):
@staticmethod
def version():
return int(gdal.VersionInfo('VERSION_NUM'))

@staticmethod
def readableVersion():
return gdal.VersionInfo('RELEASE_NAME')
@@ -92,10 +92,11 @@ def _loadAlgorithms(self):
self.algs = self.preloadedAlgs

def getDescription(self):
return self.tr('GRASS GIS 7 commands')
version = Grass7Utils.installedVersion()
return 'GRASS GIS ({})'.format(version) if version is not None else "GRASS GIS"

def getName(self):
return 'grass70'
return 'grass7'

def getIcon(self):
return QIcon(os.path.join(pluginPath, 'images', 'grass.svg'))
@@ -35,6 +35,7 @@
from qgis.PyQt.QtCore import QCoreApplication
from processing.core.ProcessingConfig import ProcessingConfig
from processing.core.ProcessingLog import ProcessingLog
from processing.core.SilentProgress import SilentProgress
from processing.tools.system import userFolder, isWindows, isMac, tempFolder, mkdir
from processing.tests.TestData import points

@@ -56,6 +57,8 @@ class Grass7Utils(object):

isGrass7Installed = False

version = None

@staticmethod
def grassBatchJobFilename():
'''This is used in Linux. This is the batch job that we assign to
@@ -74,11 +77,41 @@ def grassScriptFilename():
filename = os.path.join(userFolder(), filename)
return filename

#~ @staticmethod
#~ def installedVersion():
#~ out = Grass7Utils.executeGrass7("grass -v")
#~ # FIXME: I do not know if this should be removed or let the user enter it
#~ # or something like that... This is just a temporary thing
#~ return '7.0.0'


@staticmethod
def getGrassVersion():
# FIXME: I do not know if this should be removed or let the user enter it
# or something like that... This is just a temporary thing
return '7.0.0'
def installedVersion(run=False):
if Grass7Utils.isGrass7Installed and not run:
return Grass7Utils.version

if Grass7Utils.grassPath() is None:
return None
commands = ["grass70 -v"]
with subprocess.Popen(
commands,
shell=True,
stdout=subprocess.PIPE,
stdin=subprocess.DEVNULL,
stderr=subprocess.STDOUT,
universal_newlines=True,
) as proc:
try:
lines = proc.stdout.readlines()
for line in lines:
if "GRASS GIS " in line:
Grass7Utils.version = line.split(" ")[-1].strip()
break
except:
pass

return Grass7Utils.version


@staticmethod
def grassPath():
@@ -140,7 +173,7 @@ def createGrass7Script(commands):
output.write('if "%GRASS_ADDON_PATH%"=="" set PATH=%WINGISBASE%\\bin;%WINGISBASE%\\lib;%PATH%\n')
output.write('if not "%GRASS_ADDON_PATH%"=="" set PATH=%WINGISBASE%\\bin;%WINGISBASE%\\lib;%GRASS_ADDON_PATH%;%PATH%\n')
output.write('\n')
output.write('set GRASS_VERSION=' + Grass7Utils.getGrassVersion() + '\n')
output.write('set GRASS_VERSION=' + Grass7Utils.installedVersion() + '\n')
output.write('if not "%LANG%"=="" goto langset\n')
output.write('FOR /F "usebackq delims==" %%i IN (`"%WINGISBASE%\\etc\\winlocale"`) DO @set LANG=%%i\n')
output.write(':langset\n')
@@ -48,7 +48,8 @@ def __init__(self):
self.activate = True

def getDescription(self):
return self.tr("Orfeo Toolbox (Image analysis)")
version = OTBUtils.getInstalledVersion()
return "Orfeo ToolBox ({})".format(version) if version is not None else "Orfeo ToolBox"

def getName(self):
return "otb"
@@ -300,7 +300,7 @@ def getName(self):
return 'qgis'

def getDescription(self):
return self.tr('QGIS geoalgorithms')
return 'QGIS'

def getIcon(self):
return self._icon
@@ -86,7 +86,7 @@ def unload(self):

def _loadAlgorithms(self):
self.algs = []
version = SagaUtils.getSagaInstalledVersion(True)
version = SagaUtils.getInstalledVersion(True)
if version is None:
ProcessingLog.addToLog(ProcessingLog.LOG_ERROR,
self.tr('Problem with SAGA installation: SAGA was not found or is not correctly installed'))
@@ -121,8 +121,8 @@ def _loadAlgorithm(self, descriptionFile, version):
self.tr('Could not open SAGA algorithm: %s\n%s' % (descriptionFile, str(e))))

def getDescription(self):
version = SagaUtils.getSagaInstalledVersion()
return 'SAGA (%s)' % version if version is not None else 'SAGA'
version = SagaUtils.getInstalledVersion()
return 'SAGA ({})'.format(version) if version is not None else 'SAGA'

def getName(self):
return 'saga'
@@ -112,7 +112,7 @@ def createSagaBatchJobFileFromSagaCommands(commands):
_installedVersionFound = False


def getSagaInstalledVersion(runSaga=False):
def getInstalledVersion(runSaga=False):
global _installedVersion
global _installedVersionFound

@@ -57,7 +57,7 @@
from processing.algs.qgis.QGISAlgorithmProvider import QGISAlgorithmProvider
from processing.algs.grass7.Grass7AlgorithmProvider import Grass7AlgorithmProvider
from processing.algs.lidar.LidarToolsAlgorithmProvider import LidarToolsAlgorithmProvider
from processing.algs.gdal.GdalOgrAlgorithmProvider import GdalOgrAlgorithmProvider
from processing.algs.gdal.GdalAlgorithmProvider import GdalAlgorithmProvider
from processing.algs.otb.OTBAlgorithmProvider import OTBAlgorithmProvider
from processing.algs.r.RAlgorithmProvider import RAlgorithmProvider
from processing.algs.saga.SagaAlgorithmProvider import SagaAlgorithmProvider
@@ -47,7 +47,7 @@
from processing.algs.qgis.QGISAlgorithmProvider import QGISAlgorithmProvider
from processing.algs.grass7.Grass7AlgorithmProvider import Grass7AlgorithmProvider
from processing.algs.lidar.LidarToolsAlgorithmProvider import LidarToolsAlgorithmProvider
from processing.algs.gdal.GdalOgrAlgorithmProvider import GdalOgrAlgorithmProvider
from processing.algs.gdal.GdalAlgorithmProvider import GdalAlgorithmProvider
from processing.algs.otb.OTBAlgorithmProvider import OTBAlgorithmProvider
from processing.algs.r.RAlgorithmProvider import RAlgorithmProvider
from processing.algs.saga.SagaAlgorithmProvider import SagaAlgorithmProvider

0 comments on commit ce9c08f

Please sign in to comment.
You can’t perform that action at this time.