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 {}