code: def _make_projcet_list(path):
      
      from collections import OrderedDict
      from matplotlib.colors import LinearSegmentedColormap
      from matplotlib.colors import rgb2hex as r2h
      from numpy import linspace
      
      proj = []
      projects = OrderedDict()
      file_list = os.listdir(path)
      for files in file_list:
          if files.split(".")[0] not in proj and 'json' in files and "#" not in files and "~" not in files:
              proj.append(files.split(".")[0])
  
      # get the background color for each project.
      colors = _get_colors(len(proj))
      p_c = 0
  
      for p in proj:
          tasks = OrderedDict()
          temp = [x.split(".")[1] for x in file_list if p in x and "#" not in x and "~" not in x]
          cmspace = linspace(0.95, 0.25, len(temp))
          cm = LinearSegmentedColormap.from_list("acorn.{}".format(p),
                                                 ['#ffffff', colors[p_c]],
                                                 N=max((len(temp), 25)))
          hues = [r2h(cm(cmi)) for cmi in cmspace]
          h_c = 0
          for t in temp:
              tasks[t] = [hues[h_c],p+"."+t+".json"]
              h_c += 1
          tasks["hex_color"] = colors[p_c]
          projects[p] = tasks
          p_c += 1
          
      return projects
docs: Returns a dictionaries in which each project is a key and the
      tasks are stored as a list within that dictionaly element.
      
      Args:
          path (str): The path to the folder containing the *.json files.
      
      Returns:
          projects (list of dict): A dictionary in which each project is a key 
            containing a list of it's tasks.