Skip to content

Commit 15004f4

Browse files
committed
put sextante config dir under ~/.qgis (fix #6662)
also fix scripts lookup
1 parent 9bdbd9c commit 15004f4

File tree

5 files changed

+18
-28
lines changed

5 files changed

+18
-28
lines changed

python/plugins/sextante/core/SextanteUtils.py

+12-8
Original file line numberDiff line numberDiff line change
@@ -27,16 +27,21 @@
2727
import time
2828
import sys
2929

30+
from PyQt4.QtCore import *
31+
32+
from qgis.core import *
33+
3034
class SextanteUtils:
3135

3236
NUM_EXPORTED = 1
3337

3438
@staticmethod
3539
def userFolder():
36-
userfolder = os.path.expanduser("~") + os.sep + "sextante"
37-
mkdir(userfolder)
40+
userDir = QFileInfo(QgsApplication.qgisUserDbFilePath()).path() + "/sextante"
41+
if not QDir(userDir).exists():
42+
QDir().mkpath(userDir)
3843

39-
return userfolder
44+
return unicode(userDir)
4045

4146
@staticmethod
4247
def isWindows():
@@ -48,10 +53,11 @@ def isMac():
4853

4954
@staticmethod
5055
def tempFolder():
51-
tempfolder = os.path.expanduser("~") + os.sep + "sextante" + os.sep + "tempdata"
52-
mkdir(tempfolder)
56+
tempDir = QFileInfo(QgsApplication.qgisUserDbFilePath()).path() + "/sextante/tempdata"
57+
if not QDir(tempDir).exists():
58+
QDir().mkpath(tempDir)
5359

54-
return tempfolder
60+
return unicode(tempDir)
5561

5662
@staticmethod
5763
def setTempOutput(out, alg):
@@ -85,5 +91,3 @@ def mkdir(newdir):
8591
mkdir(head)
8692
if tail:
8793
os.mkdir(newdir)
88-
89-

python/plugins/sextante/core/SextanteVectorWriter.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ def __init__(self, fileName, encoding, fields, geometryType, crs, options=None):
4444
self.isMemory = False
4545
self.memLayer = None
4646
self.writer = None
47-
47+
4848
if encoding is None:
4949
settings = QSettings()
5050
encoding = settings.value("/SextanteQGIS/encoding", "System").toString()
@@ -68,7 +68,7 @@ def __init__(self, fileName, encoding, fields, geometryType, crs, options=None):
6868
extension = extension[:extension.find(" ")]
6969
OGRCodes[extension] = value
7070

71-
extension = self.fileName[self.fileName.find(".") + 1:]
71+
extension = self.fileName[self.fileName.rfind(".") + 1:]
7272
self.writer = QgsVectorFileWriter(self.fileName, encoding, fields, geometryType, crs, OGRCodes[extension])
7373

7474
def addFeature(self, feature):

python/plugins/sextante/modeler/ModelerUtils.py

-7
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ class ModelerUtils:
3636
def modelsFolder():
3737
folder = SextanteConfig.getSetting(ModelerUtils.MODELS_FOLDER)
3838
if folder == None:
39-
#folder = os.path.join(os.path.dirname(__file__), "models")
4039
folder = SextanteUtils.userFolder() + os.sep + "models"
4140
mkdir(folder)
4241

@@ -49,12 +48,6 @@ def getAlgorithm(name):
4948
return provider[name]
5049
return None
5150

52-
5351
@staticmethod
5452
def getAlgorithms():
5553
return ModelerUtils.allAlgs
56-
57-
58-
59-
60-

python/plugins/sextante/script/ScriptAlgorithmProvider.py

+4-7
Original file line numberDiff line numberDiff line change
@@ -55,28 +55,25 @@ def unload(self):
5555
def getIcon(self):
5656
return QtGui.QIcon(os.path.dirname(__file__) + "/../images/script.png")
5757

58-
def scriptsFolder(self):
59-
return ScriptUtils.scriptsFolder()
60-
6158
def getName(self):
6259
return "script"
6360

6461
def getDescription(self):
6562
return "Scripts"
6663

67-
def _loadAlgorithms(self):
68-
folder = self.scriptsFolder()
64+
def _loadAlgorithms(self):
65+
folder = ScriptUtils.scriptsFolder()
6966
self.loadFromFolder(folder)
7067
folder = os.path.join(os.path.dirname(__file__), "scripts")
7168
self.loadFromFolder(folder)
72-
69+
7370
def loadFromFolder(self, folder):
7471
if not os.path.exists(folder):
7572
return
7673
for descriptionFile in os.listdir(folder):
7774
if descriptionFile.endswith("py"):
7875
try:
79-
fullpath = os.path.join(ScriptUtils.scriptsFolder(), descriptionFile)
76+
fullpath = os.path.join(folder, descriptionFile)
8077
alg = ScriptAlgorithm(fullpath)
8178
if alg.name.strip() != "":
8279
self.algs.append(alg)

python/plugins/sextante/script/ScriptUtils.py

-4
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,7 @@ class ScriptUtils:
3737
def scriptsFolder():
3838
folder = SextanteConfig.getSetting(ScriptUtils.SCRIPTS_FOLDER)
3939
if folder == None:
40-
#folder = os.path.join(os.path.dirname(__file__), "scripts")
4140
folder = SextanteUtils.userFolder() + os.sep + "scripts"
4241
mkdir(folder)
4342

4443
return folder
45-
46-
47-

0 commit comments

Comments
 (0)