FEM: Fix WorkingDir problem

Signed-off-by: Przemo Firszt <przemo@firszt.eu>
This commit is contained in:
Przemo Firszt 2015-10-18 14:34:09 +01:00 committed by wmayer
parent 23dd479cb9
commit d8488027d7

View File

@ -167,13 +167,14 @@ class _JobControlTaskPanel:
FreeCADGui.Control.closeDialog()
def choose_working_dir(self):
self.fem_prefs = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Fem")
self.working_dir = QtGui.QFileDialog.getExistingDirectory(None,
'Choose CalculiX working directory',
self.fem_prefs.GetString("WorkingDir", '/tmp'))
if self.working_dir:
self.fem_prefs.SetString("WorkingDir", str(self.working_dir))
self.form.le_working_dir.setText(self.working_dir)
current_wd = get_working_dir()
wd = QtGui.QFileDialog.getExistingDirectory(None, 'Choose CalculiX working directory',
current_wd)
if wd:
self.analysis_object.WorkingDir = wd
else:
self.analysis_object.WorkingDir = current_wd
self.form.le_working_dir.setText(self.analysis_object.WorkingDir)
def write_input_file_handler(self):
QApplication.restoreOverrideCursor()
@ -240,3 +241,17 @@ class _JobControlTaskPanel:
self.Calculix.start(self.CalculixBinary, ['-i', fi.baseName()])
QApplication.restoreOverrideCursor()
#Code duplication!!!!
def get_working_dir():
fem_prefs = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Fem")
working_dir = fem_prefs.GetString("WorkingDir", "")
if not (os.path.isdir(working_dir)):
try:
os.path.makedirs(working_dir)
except:
print ("Dir \'{}\' from FEM preferences doesn't exist and cannot be created.".format(working_dir))
import tempfile
working_dir = tempfile.gettempdir()
print ("Dir \'{}\' will be used instead.".format(working_dir))
return working_dir