Example #1
0
 def load(cls, path):
     result = RenderJobList()
     result.path = path
     with open(path, 'r') as f:
         reader = csv.DictReader(f)
         for row in reader:
             job = RenderJob.from_dict(row)
             
             parentid = row['parent']
             if parentid:
                 parent = next((x for x in result.rootjobs if x.id == parentid), None)
                 if parent is None:
                     raise Exception(f'Parent "{parentid}" not found."')
                 parent.add_child(job)
             else:
                 result.rootjobs.append(job)
     return result
Example #2
0
 def from_dict(cls, obj):
     result = RenderJobList()
     result.rootjobs = list(map(lambda j: RenderJob.from_dict(j), obj['rootjobs']))
     return result