Skip to content

Commit cc490fd

Browse files
committedApr 30, 2013
[sextante] Added checking in case model file cannot be save due to permissions
1 parent bd5cdaf commit cc490fd

File tree

1 file changed

+16
-2
lines changed

1 file changed

+16
-2
lines changed
 

‎python/plugins/sextante/modeler/ModelerDialog.py

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
* *
1717
***************************************************************************
1818
"""
19+
import sys
1920

2021
__author__ = 'Victor Olaya'
2122
__date__ = 'August 2012'
@@ -154,6 +155,7 @@ def runModel(self):
154155
dlg.exec_()
155156

156157
def save(self):
158+
if
157159
self.saveModel(False)
158160

159161
def saveAs(self):
@@ -179,8 +181,20 @@ def saveModel(self, saveAs):
179181
self.alg.descriptionFile = filename
180182
if filename:
181183
text = self.alg.serialize()
182-
fout = codecs.open(filename, "w", encoding='utf-8')
183-
#fout = open(filename, "w")
184+
try:
185+
fout = codecs.open(filename, "w", encoding='utf-8')
186+
except:
187+
if saveAs:
188+
QMessageBox.warning(self,
189+
self.tr("I/O error"),
190+
self.tr("Unable to save edits. Reason:\n %1").arg(unicode(sys.exc_info()[1]))
191+
)
192+
else:
193+
QMessageBox.warning(self,
194+
self.tr("Can't save model"),
195+
self.tr("This model can't be saved in its original location\n(probably you do not have permission to do it).\nPlease, use the 'Save as...' option.")
196+
)
197+
return
184198
fout.write(text)
185199
fout.close()
186200
self.update = True

0 commit comments

Comments
 (0)
Please sign in to comment.