On Tue, 10 Aug 2010 10:58:39 -0400 j...@mail.python.org wrote: >Thank you both for the suggestions. Have you ever tried to make one? >-- >http://mail.python.org/mailman/listinfo/python-list I don't know if my first reply went out so I'll repeat Here is a list box dialog written to allow selection of one of a specific type of file. It is a method in a larger gui object that controls hardware on a remote machine (called a PAN) and loads commands from files. def modeFiles(self): try: sysFile = self.chkConnected() except Disconnect,e: return (False, '')
self.pan.ppxGetAVP( ('modeFdir', ) ) dir = self.pan.avps['modeFdir'].get() fileList = fetchModFiles(self.pan, dir=dir) flist = [] for file in fileList: idx = rfind(file, '/') flist.append(file[idx+1:]) dlg = Pmw.ComboBoxDialog(self.parent, title = 'Mode File Select', buttons=('Load', 'Cancel'), defaultbutton='Load', combobox_labelpos=N, label_text='Which Mode file to load', scrolledlist_items=flist, listbox_width=32) dlg.geometry('240x300+30+250') dlg.tkraise() result = dlg.activate(geometry='240x300+30+250') if result == 'Load': print "loading %s/%s "%(dir, dlg.get()) self.pan.ppxSetMode( (dlg.get(),) ) else: print "leaving" here is fetchModFilesz def fetchModFiles(pan=None, dir=None): """ A function to read mod files on remote pan in directory dir """ fileList = [] if pan is not None: if dir is None: rCmd = "/bin/echo $MONSOON_HOME" dir = commands.getoutput("ssh -X -l monsoon %s '%s'" % (pan.panName, rCmd) ) dir = dir+os.sep+'_'+pan.sysName lsCmd = "/bin/ls %s/*.mod"%(dir,) resp = commands.getoutput("ssh -X -l monsoon %s '%s'"% (pan.panName, lsCmd)) fileList = resp.split("\n") else: pass return fileList Someday I may have time to go back and clean these up and generalize them. But as the only software guy on a 3 man-year project due to complete in 9 months quick and dirty is the rule. Nick nbuchh...@noao.edu Day phone: (520) 318-8203 "Time is an illusion, Lunchtime doubly so" - Ford Prefect Time is an illusion perpetrated by the manufacturers of space. -- http://mail.python.org/mailman/listinfo/python-list