Exemple #1
0
def create_folders_and_exercises(collection_folders, collection_exercises, folders_exercises_to_create, stack):
    """
    Create all Folders and Exercises in these Folders as specified by the parameters: folders_exercises_to_create & stack

    :param collection_folders:          The MongoDB 'folders' collection reference.
    :param collection_exercises:        The MongoDB 'exercises' collection reference.
    :param folders_exercises_to_create: A dictionary of folders and corresponding exercises to create.
    :param stack:                       The parent stack to which all the folders.
    :return:
    """

    for folder_name in folders_exercises_to_create.keys():
        print "Creating Folder: %s" % folder_name
        folder_created = Folder.create_folder(collection_folders, folder_name, stack)
        print "Done!"

        if folder_created.acknowledged:
            exercises = folders_exercises_to_create.get(folder_name)
            print "-- Creating exercises: %s" % exercises
            Exercise.create_exercises_in_folder(collection_exercises, collection_folders, exercises,
                                                folder_created.inserted_id)
            print "Done!"

        else:
            print "Folder %s was not created successfully." % folder_name