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