@@ -682,25 +682,14 @@ def import_from_dict(cls, data):
682682 @staticmethod
683683 def from_operations (operations , session ):
684684 jobs = []
685- datasets = {}
686- submissions = {}
687- user_tests = {}
688685 for operation in operations :
689- if operation .dataset_id not in datasets :
690- datasets [operation .dataset_id ] = Dataset .get_from_id (
691- operation .dataset_id , session )
686+ # The get_from_id method loads from the instance map (if the
687+ # object exists there), which thus acts as a cache.
692688 if operation .for_submission ():
693- if operation .object_id not in submissions :
694- submissions [operation .object_id ] = \
695- Submission .get_from_id (
696- operation .object_id , session )
697- object_ = submissions [operation .object_id ]
689+ object_ = Submission .get_from_id (operation .object_id , session )
698690 else :
699- if operation .object_id not in user_tests :
700- user_tests [operation .object_id ] = \
701- UserTest .get_from_id (operation .object_id , session )
702- object_ = user_tests [operation .object_id ]
691+ object_ = UserTest .get_from_id (operation .object_id , session )
692+ dataset = Dataset .get_from_id (operation .dataset_id , session )
703693
704- jobs .append (Job .from_operation (
705- operation , object_ , datasets [operation .dataset_id ]))
694+ jobs .append (Job .from_operation (operation , object_ , dataset ))
706695 return JobGroup (jobs )
0 commit comments