Skip to content

Commit

Permalink
FEM: Fix WorkingDir problem
Browse files Browse the repository at this point in the history
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
  • Loading branch information
PrzemoF authored and wwmayer committed Oct 19, 2015
1 parent 23dd479 commit d848802
Showing 1 changed file with 22 additions and 7 deletions.
29 changes: 22 additions & 7 deletions src/Mod/Fem/_JobControlTaskPanel.py
Expand Up @@ -167,13 +167,14 @@ def reject(self):
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()
Expand Down Expand Up @@ -240,3 +241,17 @@ def runCalculix(self):
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

0 comments on commit d848802

Please sign in to comment.