parameters: (environ, include_fuerte=False, include_non_existing=False)
return_statement: return workspaces
docstring: Based on CMAKE_PREFIX_PATH return all catkin workspaces.
  
      :param include_fuerte: The flag if paths starting with '/opt/ros/fuerte' should be considered workspaces, ``bool``
docstring_summary: Based on CMAKE_PREFIX_PATH return all catkin workspaces.
docstring_tokens: Based on CMAKE_PREFIX_PATH return all catkin workspaces .
function: def _get_workspaces(environ, include_fuerte=False, include_non_existing=False):
      '''
      Based on CMAKE_PREFIX_PATH return all catkin workspaces.
  
      :param include_fuerte: The flag if paths starting with '/opt/ros/fuerte' should be considered workspaces, ``bool``
      '''
      # get all cmake prefix paths
      env_name = 'CMAKE_PREFIX_PATH'
      value = environ[env_name] if env_name in environ else ''
      paths = [path for path in value.split(os.pathsep) if path]
      # remove non-workspace paths
      workspaces = [path for path in paths if os.path.isfile(os.path.join(path, CATKIN_MARKER_FILE)) or (include_fuerte and path.startswith('/opt/ros/fuerte')) or (include_non_existing and not os.path.exists(path))]
      return workspaces
function_tokens: def _get_workspaces ( environ , include_fuerte = False , include_non_existing = False ) : # get all cmake prefix paths env_name = 'CMAKE_PREFIX_PATH' value = environ [ env_name ] if env_name in environ else '' paths = [ path for path in value . split ( os . pathsep ) if path ] # remove non-workspace paths workspaces = [ path for path in paths if os . path . isfile ( os . path . join ( path , CATKIN_MARKER_FILE ) ) or ( include_fuerte and path . startswith ( '/opt/ros/fuerte' ) ) or ( include_non_existing and not os . path . exists ( path ) ) ] return workspaces