Skip to content
  • Jonathan Maw's avatar
    Create and store data inside projects when opening workspaces · 67c7a58d
    Jonathan Maw authored
    Changes to _context.py:
    * Context has been extended to contain a WorkspaceProjectCache, as there
      are times when we want to use it before a Workspaces can be initialised
      (looking up a WorkspaceProject to find the directory that the project is
      in)
    
    Changes to _stream.py:
    * Removed staging the elements from workspace_open() and workspace_reset()
    
    Changes in _workspaces.py:
    * A new WorkspaceProject contains all the information needed to refer back
      to a project from its workspace (currently this is the project path and
      the element used to create this workspace)
    * This is stored within a new WorkspaceProjectCache object, which keeps
      WorkspaceProjects around so they don't need to be loaded from disk
      repeatedly.
    * Workspaces has been extended to contain the WorkspaceProjectCache, and
      will use it when opening and closing workspaces.
    * Workspaces.create_workspace has been extended to handle the staging of
      the element into the workspace, in addition to creating the equivalent
      WorkspaceProject file.
    
    This is a part of #222
    67c7a58d