def get_custom_base(solver): path = settings.get_custom_dir() if not os.path.isdir(path): error_message = "Selected working directory doesn't exist." FreeCAD.Console.PrintError(error_message + "\n") if FreeCAD.GuiUp: QtGui.QMessageBox.critical(FreeCADGui.getMainWindow(), "Can't start Solver or Mesh creation.", error_message) raise run.DirectoryDoesNotExistError("Invalid path") return path
def get_custom_base(solver): from femsolver.settings import get_custom_dir path = get_custom_dir() if not os.path.isdir(path): new_path = get_temp_dir() error_message = ("Selected working directory {} doesn't exist. " " For the moment the tmp dir {} is used.".format( path, new_path)) FreeCAD.Console.PrintError("{}\n".format(error_message)) if FreeCAD.GuiUp: QtGui.QMessageBox.critical(FreeCADGui.getMainWindow(), "Can't start Solver or Mesh creation.", error_message) # from .errors import DirectoryDoesNotExistError # raise DirectoryDoesNotExistError("Invalid path") return new_path return path
def get_pref_working_dir(solver_obj): """ Return working directory for solver honoring user settings. :throws femsolver.run.MustSaveError: If user setting is set to BESIDE and the document isn't saved. :note: Not working correctly for most cases because this circumvents directory caching of the solver framework. For solver use getMachine from run.py instead. """ from femsolver import settings dir_setting = settings.get_dir_setting() if dir_setting == settings.DirSetting.TEMPORARY: setting_working_dir = get_temp_dir(solver_obj) elif dir_setting == settings.DirSetting.BESIDE: setting_working_dir = get_beside_dir(solver_obj) elif dir_setting == settings.DirSetting.CUSTOM: setting_working_dir = get_custom_dir(solver_obj) else: setting_working_dir = "" return setting_working_dir