def locate_chapters_and_recipes(directory_of_this_script):
    """
    Returns a list of chapters and a dictionary of chapter -> list of recipes.
    """
    paths = (directory_of_this_script.parent).glob('chapter-*')
    chapters = sorted((path.parts[-1] for path in paths))

    # chapter 15 is different and "hardcoded"
    # so we remove it from the list of chapters to process
    chapters.remove('chapter-15')

    recipes = {}
    for chapter in chapters:
        paths = (directory_of_this_script.parent / chapter).glob('recipe-*')
        _recipes = sorted((path.parts[-1] for path in paths))
        recipes[chapter] = _recipes

    return chapters, recipes