def ok(self): self.status.SetError("") name = str(self.name.entry.get()) if (name == ""): self.status.SetError("No name specified") return try: args = [self.conn[0].FillinConn()] arg = self.conn[1].FillinConn() if (arg != None): args.append(arg) pass pass except Exception as e: self.status.SetError("Error handling connection arguments") import sys, traceback t, v, b = sys.exc_info() bl = traceback.format_tb(b) b = "" for x in bl: b += "\n" + x self.mainhandler.log( "EINF", "Connection Argument Handling error: " + str(t) + ":" + str(v) + ":" + b) return domain_id = OpenIPMI.open_domain3(name, [], args, None, None) if (domain_id == None): self.status.SetError("Error opening domain") return self.destroy() return
def RestoreDomains(mainhandler): for i in defaultDomains: name = i[0] attrhashes = i[1] other = i[2] connects = [] for attrhash in attrhashes: if ("contype" not in attrhash): continue args = OpenIPMI.alloc_empty_args(str(attrhash["contype"])) if (args == None): continue for attr in attrhash.items(): vname = str(attr[0]) if (vname == "contype"): continue value = str(attr[1]) args.set_val(0, vname, value) pass connects.append(args) pass domain_id = OpenIPMI.open_domain3(name, [], connects, None, None) if (domain_id != None): DomainInfoSetup(other, domain_id) pass else: _oi_logging.error("Error making domain connection for " + name) pass pass return
def RestoreDomains(mainhandler): for i in defaultDomains: name = i[0] attrhashes = i[1] other = i[2] connects = [ ] for attrhash in attrhashes: if ("contype" not in attrhash): continue args = OpenIPMI.alloc_empty_args(str(attrhash["contype"])) if (args == None): continue for attr in attrhash.items(): vname = str(attr[0]) if (vname == "contype"): continue value = str(attr[1]) args.set_val(0, vname, value) pass connects.append(args) pass domain_id = OpenIPMI.open_domain3(name, [], connects, None, None) if (domain_id != None): DomainInfoSetup(other, domain_id) pass else: _oi_logging.error("Error making domain connection for " + name) pass pass return
def Connect(self): self.already_up = False self.domain_id = OpenIPMI.open_domain3(self.name, [], self.connection, self, self) del self.connection if (self.domain_id == None): raise InvalidDomainError("Open domain failed, invalid parms") return
class OpenDomainDialog(Tix.Toplevel): def __init__(self, mainhandler): Tix.Toplevel.__init__(self) self.title("Domain Creation Dialog") self.mainhandler = mainhandler self.name = Tix.LabelEntry(self, label="Domain name") self.name.pack(side=Tix.TOP, fill=Tix.X, expand=1) bbox = Tix.ButtonBox(self) bbox.add("cancel", text="Cancel", command=lambda w=self: w.cancel()) bbox.add("ok", text="Ok", command=lambda w=self: w.ok()) bbox.pack(side=Tix.BOTTOM, fill=Tix.X, expand=1) self.status = gui_errstr.ErrStr(self) self.status.pack(side=Tix.BOTTOM, fill=Tix.X, expand=1) self.conn = [ ConnInfo(self, mainhandler), ConnInfo(self, mainhandler, False) ] self.conn[0].pack(side=Tix.TOP, fill=Tix.BOTH, expand=1) self.conn[1].pack(side=Tix.TOP, fill=Tix.BOTH, expand=1) self.name.entry.focus() self.bind("<Destroy>", self.OnDestroy) return def OnDestroy(self, event): # This doesn't get cleaned up properly by Python til after # exit, but we need to make sure the args get freed now, or # it won't be freed until after the OS handler is destroyed. for c in self.conn: c.Cleanup() pass return def cancel(self): self.destroy() return def ok(self): self.status.SetError("") name = str(self.name.entry.get()) if (name == ""): self.status.SetError("No name specified") return try: args = [ self.conn[0].FillinConn() ] arg = self.conn[1].FillinConn() if (arg != None): args.append(arg); pass pass except Exception, e: self.status.SetError("Error handling connection arguments") import sys, traceback t, v, b = sys.exc_info() bl = traceback.format_tb(b) b = "" for x in bl: b += "\n" + x self.mainhandler.log("EINF", "Connection Argument Handling error: " + str(t) + ":" + str(v) + ":" + b) return domain_id = OpenIPMI.open_domain3(name, [], args, None, None) if (domain_id == None): self.status.SetError("Error opening domain") return self.destroy() return