@@ -67,9 +67,17 @@ def findSagaFolder():
67
67
if os .path .exists (os .path .join (testfolder , 'saga_cmd' )):
68
68
folder = testfolder
69
69
elif isWindows ():
70
- testfolder = os .path .join (os .path .dirname (QgsApplication .prefixPath ()), 'saga' )
71
- if os .path .exists (os .path .join (testfolder , 'saga_cmd.exe' )):
72
- folder = testfolder
70
+ folders = []
71
+ folders .append (os .path .join (os .path .dirname (QgsApplication .prefixPath ()), 'saga' ))
72
+ if "OSGEO4W_ROOT" in os .environ :
73
+ folders .append (os .path .join (str (os .environ ['OSGEO4W_ROOT' ]), "apps" , "saga-ltr" ))
74
+ folders .append (os .path .join (str (os .environ ['OSGEO4W_ROOT' ]), "apps" , "saga" ))
75
+
76
+ for testfolder in folders :
77
+ if os .path .exists (os .path .join (testfolder , 'saga_cmd.exe' )):
78
+ folder = testfolder
79
+ break
80
+
73
81
return folder
74
82
75
83
@@ -161,8 +169,8 @@ def executeSaga(feedback):
161
169
if isWindows ():
162
170
command = ['cmd.exe' , '/C ' , sagaBatchJobFilename ()]
163
171
else :
164
- os .chmod (sagaBatchJobFilename (), stat .S_IEXEC
165
- | stat .S_IREAD | stat .S_IWRITE )
172
+ os .chmod (sagaBatchJobFilename (), stat .S_IEXEC |
173
+ stat .S_IREAD | stat .S_IWRITE )
166
174
command = [sagaBatchJobFilename ()]
167
175
loglines = []
168
176
loglines .append (QCoreApplication .translate ('SagaUtils' , 'SAGA execution console output' ))
0 commit comments