class ProcessGroupDict(DataDict): """A container for holding process groups, keyed by id""" item_cls = ProcessGroup key = "id" def __init__(self): DataDict.__init__(self) self.id_gen = IncrID() def q_add(self, specs, callback=None, cargs={}): """Add a process group to the container""" for spec in specs: if spec.get("id", "*") != "*": raise DataCreationError("cannot specify an id") spec["id"] = self.id_gen.next() return DataDict.q_add(self, specs, callback, cargs)
def __init__(self): DataDict.__init__(self) self.id_gen = IncrID()