Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
[Processing] Use local GRASS7 help files if they exist. Fixes #7745
  • Loading branch information
Médéric RIBREUX authored and alexbruy committed Mar 8, 2016
1 parent f55ec08 commit a53a6e4
Showing 1 changed file with 28 additions and 1 deletion.
29 changes: 28 additions & 1 deletion python/plugins/processing/algs/grass7/Grass7Algorithm.py
Expand Up @@ -30,7 +30,7 @@
import uuid
import importlib

from PyQt4.QtCore import QCoreApplication
from PyQt4.QtCore import QCoreApplication, QUrl
from PyQt4.QtGui import QIcon

from qgis.core import QgsRasterLayer
Expand Down Expand Up @@ -87,6 +87,33 @@ def getIcon(self):
return QIcon(os.path.join(pluginPath, 'images', 'grass.png'))

def help(self):
localDoc = None
html = self.grass7Name + '.html'
if system.isWindows():
# For MS-Windows, use the configured GRASS7 path
localPath = os.path.join(Grass7Utils.grassPath(), 'docs/html', html)
if os.path.exists(localPath):
localDoc = os.path.abspath(localPath)
elif system.isMac():
# For MacOSX official package
localPath = os.path.join('/Applications/GRASS-7.0.app/Contents/MacOS/docs/html', html)
if os.path.exists(localPath):
localDoc = os.path.abspath(localPath)
else:
# For GNU/Linux distributions
searchPaths = ['/usr/share/doc/grass-doc/html', '/opt/grass/docs/html',
'/usr/share/doc/grass/docs/html']
for path in searchPaths:
localPath = os.path.join(path, html)
if os.path.exists(localPath):
localDoc = os.path.abspath(localPath)

# Found the local documentation
if localDoc:
localDoc = QUrl.fromLocalFile(localDoc).toString()
return False, localDoc

# Return the URL if local doc is not found
return False, 'http://grass.osgeo.org/grass70/manuals/' + self.grass7Name + '.html'

def getParameterDescriptions(self):
Expand Down

0 comments on commit a53a6e4

Please sign in to comment.