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.

def _make_projcet_list(path):
    """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.
    """
    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