Exemple #1
0
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
Exemple #2
0
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
Exemple #3
0
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