def OnOpenExperiment(self, cmdEvent): project = self.ProjectName.GetLineText(0) experiment = self.ExperimentName.GetLineText(0) root = self.ExperimentRoot.GetLineText(0) if project == "" or experiment == "": msg = "Enter a project name and experiment." else: msg = 'Getting experiment %s/%s.' % (project, experiment) pass print msg self.ExperimentMsg.SetLabel(msg) self.Refresh() self.Update() if project == "" or experiment == "": return hypfile = exptToHv.getExperiment(project, experiment, root) if type(hypfile) is types.ListType: exptError = '%s %s\n%s' % tuple(hypfile[1:4]) print exptError self.ExperimentMsg.SetLabel(exptError) elif self.app.frame.ReadTopFile("wxHyperViewer", hypfile): self.Hide(); # Success. self.ExperimentMsg.SetLabel(" ") else: fileError = "Could not open " + hypfile print fileError self.ExperimentMsg.SetLabel(fileError) pass pass
def OnOpenExperiment(self, cmdEvent): project = self.ProjectName.GetLineText(0) experiment = self.ExperimentName.GetLineText(0) root = self.ExperimentRoot.GetLineText(0) if project == "" or experiment == "": msg = "Enter a project name and experiment." else: msg = 'Getting experiment %s/%s.' % (project, experiment) pass print msg self.ExperimentMsg.SetLabel(msg) self.Refresh() self.Update() if project == "" or experiment == "": return hypfile = exptToHv.getExperiment(project, experiment, root) if type(hypfile) is types.ListType: exptError = '%s %s\n%s' % tuple(hypfile[1:4]) print exptError self.ExperimentMsg.SetLabel(exptError) elif self.app.frame.ReadTopFile("wxHyperViewer", hypfile): self.Hide() # Success. self.ExperimentMsg.SetLabel(" ") else: fileError = "Could not open " + hypfile print fileError self.ExperimentMsg.SetLabel(fileError) pass pass
def OnInit(self): filename = filearg = default_project = project = experiment = root = None if os.environ.has_key("EMULAB_PROJECT"): # Default project name to use. default_project = project = os.environ["EMULAB_PROJECT"] # Any dash argument prints a usage message and exits. if len(sys.argv) == 2 and sys.argv[1][0] == '-': print '''Hyperviewer usage: No args - Starts up the GUI. Use the File/Open menu item to read a topology. One arg - A .hyp file name. Read it in and start the GUI, e.g.: ./hypview BigLan.hyp Two args - Project and experiment names in the database. Get the topology from XMLRPC, make a .hyp file, start as above. ./hypview testbed BigLan Three args - Project and experiment names, plus an optional root node name. ./hypview testbed BigLan clan''' sys.exit() pass # Given command-line argument(s), attempt to read in a topology. # One command-line argument: read from a .hyp file. # (File/experiment input is also in the OnOpenFile and OnOpenExperiment methods.) elif len(sys.argv) == 2: filename = filearg = sys.argv[1] print "Reading file:", filename pass # Two args: read an experiment from the DB via XML-RPC, and make a .hyp file. elif len(sys.argv) == 3: project = sys.argv[1] if project == "": project = default_project experiment = sys.argv[2] print "Getting project:", project + ", experiment:", experiment filename = exptToHv.getExperiment(project, experiment) pass # Three args: experiment from database, with optional graph root node. elif len(sys.argv) == 4: project = sys.argv[1] if project == "": project = default_project experiment = sys.argv[2] root = sys.argv[3] print "Getting project:", project + ", experiment:", experiment \ + ", root node:", root filename = exptToHv.getExperiment(project, experiment, root) pass self.frame = hvFrame(None, -1, "wxHyperViewer", (100,0), (750,750)) self.frame.app = self # A back-reference here from the frame. self.openDialog = hvOpen(None, -1, "Open HyperViewer Data") self.openDialog.app = self self.usageDialog = UsageDialogUI(None, -1, "HyperViewer Usage") # Initialize the text fields in the File/Open dialog. if filearg: self.openDialog.FileToOpen.SetValue(filearg) self.openDialog.LoginName.SetValue(exptToHv.login_id) if project: self.openDialog.ProjectName.SetValue(project) elif default_project: self.openDialog.ProjectName.SetValue(default_project) if experiment: self.openDialog.ExperimentName.SetValue(experiment) self.openDialog.ExperimentName.SetFocus() if root: self.openDialog.ExperimentRoot.SetValue(root) # Make the top-level window visible. self.frame.Show() self.SetTopWindow(self.frame) if filename: if type(filename) is types.ListType: print "Failed to read experiment from database." exptError = '%s %s\n%s' % tuple(filename[1:4]) print exptError self.frame.shutdown() else: if not self.frame.ReadTopFile("wxHyperViewer", filename): #print "Could not open ", filename # Already printed error in C++. self.frame.shutdown() pass pass return True # OnInit success.
def OnInit(self): filename = filearg = default_project = project = experiment = root = None if os.environ.has_key( "EMULAB_PROJECT"): # Default project name to use. default_project = project = os.environ["EMULAB_PROJECT"] # Any dash argument prints a usage message and exits. if len(sys.argv) == 2 and sys.argv[1][0] == '-': print '''Hyperviewer usage: No args - Starts up the GUI. Use the File/Open menu item to read a topology. One arg - A .hyp file name. Read it in and start the GUI, e.g.: ./hypview BigLan.hyp Two args - Project and experiment names in the database. Get the topology from XMLRPC, make a .hyp file, start as above. ./hypview testbed BigLan Three args - Project and experiment names, plus an optional root node name. ./hypview testbed BigLan clan''' sys.exit() pass # Given command-line argument(s), attempt to read in a topology. # One command-line argument: read from a .hyp file. # (File/experiment input is also in the OnOpenFile and OnOpenExperiment methods.) elif len(sys.argv) == 2: filename = filearg = sys.argv[1] print "Reading file:", filename pass # Two args: read an experiment from the DB via XML-RPC, and make a .hyp file. elif len(sys.argv) == 3: project = sys.argv[1] if project == "": project = default_project experiment = sys.argv[2] print "Getting project:", project + ", experiment:", experiment filename = exptToHv.getExperiment(project, experiment) pass # Three args: experiment from database, with optional graph root node. elif len(sys.argv) == 4: project = sys.argv[1] if project == "": project = default_project experiment = sys.argv[2] root = sys.argv[3] print "Getting project:", project + ", experiment:", experiment \ + ", root node:", root filename = exptToHv.getExperiment(project, experiment, root) pass self.frame = hvFrame(None, -1, "wxHyperViewer", (100, 0), (750, 750)) self.frame.app = self # A back-reference here from the frame. self.openDialog = hvOpen(None, -1, "Open HyperViewer Data") self.openDialog.app = self self.usageDialog = UsageDialogUI(None, -1, "HyperViewer Usage") # Initialize the text fields in the File/Open dialog. if filearg: self.openDialog.FileToOpen.SetValue(filearg) self.openDialog.LoginName.SetValue(exptToHv.login_id) if project: self.openDialog.ProjectName.SetValue(project) elif default_project: self.openDialog.ProjectName.SetValue(default_project) if experiment: self.openDialog.ExperimentName.SetValue(experiment) self.openDialog.ExperimentName.SetFocus() if root: self.openDialog.ExperimentRoot.SetValue(root) # Make the top-level window visible. self.frame.Show() self.SetTopWindow(self.frame) if filename: if type(filename) is types.ListType: print "Failed to read experiment from database." exptError = '%s %s\n%s' % tuple(filename[1:4]) print exptError self.frame.shutdown() else: if not self.frame.ReadTopFile("wxHyperViewer", filename): #print "Could not open ", filename # Already printed error in C++. self.frame.shutdown() pass pass return True # OnInit success.