This function is a 2-time recursive func,
    that findin file in dirs
    
    :parameters:
      -  `path` (str) - Directory path
      -  `name` (str) - Name of file, that we lookin for
      
    :returns:
        Path to the swipl so, path to the resource file

    :returns type:
        (str)

def walk(path, name):
    """
    This function is a 2-time recursive func,
    that findin file in dirs
    
    :parameters:
      -  `path` (str) - Directory path
      -  `name` (str) - Name of file, that we lookin for
      
    :returns:
        Path to the swipl so, path to the resource file

    :returns type:
        (str)
    """
    back_path = path[:]
    path = os.path.join(path, name)
    
    if os.path.exists(path):
        return path
    else:
        for dir_ in os.listdir(back_path):
            path = os.path.join(back_path, dir_)

            if os.path.isdir(path):
                res_path = walk(path, name)
                if res_path is not None:
                    return (res_path, back_path)

    return None