parameters: (self, path: Optional[str] = None, should_exist: bool = True)
docstring: :param path: optional path to a project JSON file, when None defaults
                       to DEFAULT_MAP_FILE.
          :param should_exist: flag to tell if it's an exceptional situation when
                               the project file doesn't exist, creates an empty
                               project list instead if we are not expecting it to
                               exist.
docstring_summary: :param path: optional path to a project JSON file, when None defaults
                       to DEFAULT_MAP_FILE.
          :param should_exist: flag to tell if it's an exceptional situation when
                               the project file doesn't exist, creates an empty
                               project list instead if we are not expecting it to
                               exist.
docstring_tokens: : param path : optional path to a project JSON file when None defaults to DEFAULT_MAP_FILE . : param should_exist : flag to tell if it s an exceptional situation when the project file doesn t exist creates an empty project list instead if we are not expecting it to exist .
function: def __init__(self, path: Optional[str] = None, should_exist: bool = True):
          """
          :param path: optional path to a project JSON file, when None defaults
                       to DEFAULT_MAP_FILE.
          :param should_exist: flag to tell if it's an exceptional situation when
                               the project file doesn't exist, creates an empty
                               project list instead if we are not expecting it to
                               exist.
          """
          if path is None:
              path = os.path.join(os.path.abspath(os.curdir), DEFAULT_MAP_FILE)
  
          if not os.path.exists(path):
              if should_exist:
                  raise ValueError(
                      f"Cannot find the project map file {path}"
                      f"\nRunning script for the wrong directory?\n")
              else:
                  self._create_empty(path)
  
          self.path = path
          self._load_projects()
function_tokens: def __init__ ( self , path : Optional [ str ] = None , should_exist : bool = True ) : if path is None : path = os . path . join ( os . path . abspath ( os . curdir ) , DEFAULT_MAP_FILE ) if not os . path . exists ( path ) : if should_exist : raise ValueError ( f"Cannot find the project map file {path}" f"\nRunning script for the wrong directory?\n" ) else : self . _create_empty ( path ) self . path = path self . _load_projects ( )