def get_video_progress_for_students(students):
    keys = (UserVideoCss._key_for(student) for student in students)
    data = UserVideoCss.get_by_key_name(keys)
    for student, css in zip(students, data):
        if css:
            vid_css_data = pickle.loads(css.pickled_dict)
            video_progress = {
                int(vid_str[2:]): progress
                for progress, vids in vid_css_data.iteritems()
                for vid_str in vids
            }
            yield video_progress
        else:
            yield {}
def get_video_progress_for_students(students):
    keys = (UserVideoCss._key_for(student) for student in students)
    data = UserVideoCss.get_by_key_name(keys)
    for student, css in zip(students, data):
        if css:
            vid_css_data = pickle.loads(css.pickled_dict)
            video_progress = {
                int(vid_str[2:]): progress
                for progress, vids in vid_css_data.iteritems()
                for vid_str in vids
            }
            yield video_progress
        else:
            yield {}