Skip to content

Commit cae78d2

Browse files
committed
Reduce duplication in Job.import_from_dict
1 parent 6fbc46f commit cae78d2

1 file changed

Lines changed: 6 additions & 20 deletions

File tree

cms/grading/Job.py

Lines changed: 6 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,12 @@ def import_from_dict_with_type(data):
185185
@classmethod
186186
def import_from_dict(cls, data):
187187
"""Create a Job from the output of export_to_dict."""
188+
data['files'] = dict(
189+
(k, File(k, v)) for k, v in iteritems(data['files']))
190+
data['managers'] = dict(
191+
(k, Manager(k, v)) for k, v in iteritems(data['managers']))
192+
data['executables'] = dict(
193+
(k, Executable(k, v)) for k, v in iteritems(data['executables']))
188194
return cls(**data)
189195

190196
@staticmethod
@@ -274,16 +280,6 @@ def export_to_dict(self):
274280
})
275281
return res
276282

277-
@classmethod
278-
def import_from_dict(cls, data):
279-
data['files'] = dict(
280-
(k, File(k, v)) for k, v in iteritems(data['files']))
281-
data['managers'] = dict(
282-
(k, Manager(k, v)) for k, v in iteritems(data['managers']))
283-
data['executables'] = dict(
284-
(k, Executable(k, v)) for k, v in iteritems(data['executables']))
285-
return cls(**data)
286-
287283
@staticmethod
288284
def from_submission(operation, submission, dataset):
289285
"""Create a CompilationJob from a submission.
@@ -499,16 +495,6 @@ def export_to_dict(self):
499495
})
500496
return res
501497

502-
@classmethod
503-
def import_from_dict(cls, data):
504-
data['files'] = dict(
505-
(k, File(k, v)) for k, v in iteritems(data['files']))
506-
data['managers'] = dict(
507-
(k, Manager(k, v)) for k, v in iteritems(data['managers']))
508-
data['executables'] = dict(
509-
(k, Executable(k, v)) for k, v in iteritems(data['executables']))
510-
return cls(**data)
511-
512498
@staticmethod
513499
def from_submission(operation, submission, dataset):
514500
"""Create an EvaluationJob from a submission.

0 commit comments

Comments
 (0)