Hello,
I have fixed this in our CVS repository but I've not yet put on the update
server because it turns out there are a lot of updates that need to go in
togther. And we are imminently going to do another release, so I am going
to wait for that to have the fix. It turns out that we have not thought
through the v2 data model on this point perfectly, and so for now, to
avoid potential messes, I have constrained the stored contours directory
to be PROJECT_DIR/storedContours. And the stored contour file itself (the
bit that is relative to the storedContours directory) cannot be changed
once the file is created. We'll sort this file stuff out in a future
release.
Wayne
On Fri, 10 Oct 2008, Wayne Boucher wrote:
> Thanks, those two popups are completly broken in v2, it seems. I started
> correcting things but this is going to take awhile, and there is at least
> one point that will take some thinking about.
>
> Wayne
>
> On Fri, 10 Oct 2008, Justin Douglas wrote:
>
> > Now the Edit Spectrum Contour Files popup opens, but I get the
> > following traceback.
> >
> > >>> Exception in Tkinter callback
> > Traceback (most recent call last):
> > File "/sw/lib/python2.5/lib-tk/Tkinter.py", line 1403, in __call__
> > return self.func(*args)
> > File "/Volumes/pardi-home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr2.0/python/ccpnmr/an
> > alysis/popups/EditSpectrum.py", line 931, in editContourFiles
> > self.parent.editContourFiles()
> > File "/Volumes/pardi-home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr2.0/python/ccpnmr/an
> > alysis/AnalysisPopup.py", line 1698, in editContourFiles
> > self.openPopup('edit_contour_files', EditContourFilesPopup)
> > File "/Volumes/pardi-home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr2.0/python/ccpnmr/an
> > alysis/AnalysisPopup.py", line 1106, in openPopup
> > transient=transient, *args, **kw)
> > File "/Volumes/pardi-home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr2.0/python/ccpnmr/an
> > alysis/popups/EditContourFiles.py", line 68, in __init__
> > BasePopup.__init__(self, parent=parent, title='Edit spectrum
> > contour files', **kw)
> > File "/Volumes/pardi-home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr2.0/python/ccpnmr/an
> > alysis/popups/BasePopup.py", line 91, in __init__
> > memops.editor.BasePopup.BasePopup.__init__(self, parent, *args, **kw)
> > File "/Volumes/pardi-home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr2.0/python/memops/ed
> > itor/BasePopup.py", line 85, in __init__
> > memops.gui.BasePopup.BasePopup.__init__(self, parent, *args, **kw)
> > File "/Volumes/pardi-home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr2.0/python/memops/gu
> > i/BasePopup.py", line 124, in __init__
> > self.initial_focus = self.body(frame)
> > File "/Volumes/pardi-home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr2.0/python/ccpnmr/an
> > alysis/popups/EditContourFiles.py", line 107, in body
> > self.registerNotify(self.updateAfter, 'memops.Implementation.Url',
> > 'setPath')
> > File "/Volumes/pardi-home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr2.0/python/memops/ed
> > itor/BasePopup.py", line 174, in registerNotify
> > self.application.registerNotify(notify, classname, funcname, keyword)
> > File "/Volumes/pardi-home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr2.0/python/memops/ge
> > neral/Application.py", line 223, in registerNotify
> > registerNotify(notify, classname, funcname, application, keyword)
> > File "/Volumes/pardi-home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr2.0/python/memops/ge
> > neral/Application.py", line 72, in registerNotify
> > return GenImp.registerNotify(notify, classname, funcname)
> > File "/Volumes/pardi-home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr2.0/python/memops/ge
> > neral/Implementation.py", line 104, in registerNotify
> > notifies = getClassFromFullName(classname)._notifies
> > AttributeError: type object 'Url' has no attribute '_notifies'
> > Exception in Tkinter callback
> > Traceback (most recent call last):
> > File "/sw/lib/python2.5/lib-tk/Tkinter.py", line 1403, in __call__
> > return self.func(*args)
> > File "/sw/lib/python2.5/lib-tk/Tkinter.py", line 498, in callit
> > func(*args)
> > File "/Volumes/pardi-home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr2.0/python/ccpnmr/an
> > alysis/popups/EditContourFiles.py", line 136, in update
> > self.updateStoredContourTable()
> > File "/Volumes/pardi-home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr2.0/python/ccpnmr/an
> > alysis/popups/EditContourFiles.py", line 142, in updateStoredContourTable
> > storedContours = self.analysisProject.storedContours
> > AttributeError: 'AnalysisProject' object has no attribute 'storedContours'
> >
> >
> > When I click the Create New Files button I get the following traceback
> >
> >
> > >>> Exception in Tkinter callback
> > Traceback (most recent call last):
> > File "/sw/lib/python2.5/lib-tk/Tkinter.py", line 1403, in __call__
> > return self.func(*args)
> > File "/Volumes/pardi-home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr2.0/python/ccpnmr/analysis
> > /popups/EditContourFiles.py", line 262, in createContourFile
> > self.parent.createSpectrumContourFile(spectrum)
> > File "/Volumes/pardi-home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr2.0/python/ccpnmr/analysis
> > /AnalysisPopup.py", line 1144, in createSpectrumContourFile
> > popup = self.openPopup('create_contour_file', CreateContourFilePopup)
> > File "/Volumes/pardi-home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr2.0/python/ccpnmr/analysis
> > /AnalysisPopup.py", line 1106, in openPopup
> > transient=transient, *args, **kw)
> > File "/Volumes/pardi-home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr2.0/python/ccpnmr/analysis
> > /popups/CreateContourFile.py", line 78, in __init__
> > BasePopup.__init__(self, parent=parent, title='Create spectrum
> > contour file', **kw)
> > File "/Volumes/pardi-home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr2.0/python/ccpnmr/analysis
> > /popups/BasePopup.py", line 91, in __init__
> > memops.editor.BasePopup.BasePopup.__init__(self, parent, *args, **kw)
> > File "/Volumes/pardi-home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr2.0/python/memops/editor/B
> > asePopup.py", line 85, in __init__
> > memops.gui.BasePopup.BasePopup.__init__(self, parent, *args, **kw)
> > File "/Volumes/pardi-home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr2.0/python/memops/gui/Base
> > Popup.py", line 124, in __init__
> > self.initial_focus = self.body(frame)
> > File "/Volumes/pardi-home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr2.0/python/ccpnmr/analysis
> > /popups/CreateContourFile.py", line 133, in body
> > self.expt_spectrum.setExperiments()
> > File "/Volumes/pardi-home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr2.0/python/ccpnmr/analysis
> > /frames/ExptSpectrumRows.py", line 116, in setExperiments
> > self.expt_list.setExperiments()
> > File "/Volumes/pardi-home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr2.0/python/ccpnmr/analysis
> > /frames/ExperimentList.py", line 79, in setExperiments
> > self.replace(names, self.selected_index)
> > File "/Volumes/pardi-home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr2.0/python/memops/gui/Pull
> > downMenu.py", line 392, in replace
> > self.setup(entries, selected_index, first_pass=False, colors=colors)
> > File "/Volumes/pardi-home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr2.0/python/memops/gui/Pull
> > downMenu.py", line 250, in setup
> > self.setSelectedIndex(selected_index)
> > File "/Volumes/pardi-home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr2.0/python/memops/gui/Pull
> > downMenu.py", line 444, in setSelectedIndex
> > self.callback(selected_index, self.entries[selected_index])
> > File "/Volumes/pardi-home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr2.0/python/ccpnmr/analysis
> > /frames/ExptSpectrumRows.py", line 105, in setSpectra
> > self.spectrum_list.setSpectra()
> > File "/Volumes/pardi-home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr2.0/python/ccpnmr/analysis
> > /frames/SpectrumList.py", line 79, in setSpectra
> > self.replace(names, self.selected_index)
> > File "/Volumes/pardi-home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr2.0/python/memops/gui/Pull
> > downMenu.py", line 392, in replace
> > self.setup(entries, selected_index, first_pass=False, colors=colors)
> > File "/Volumes/pardi-home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr2.0/python/memops/gui/Pull
> > downMenu.py", line 250, in setup
> > self.setSelectedIndex(selected_index)
> > File "/Volumes/pardi-home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr2.0/python/memops/gui/Pull
> > downMenu.py", line 444, in setSelectedIndex
> > self.callback(selected_index, self.entries[selected_index])
> > File "/Volumes/pardi-home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr2.0/python/ccpnmr/analysis
> > /frames/ExptSpectrumRows.py", line 112, in setSpectrumProperties
> > self.callback(spectrum)
> > File "/Volumes/pardi-home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr2.0/python/ccpnmr/analysis
> > /popups/CreateContourFile.py", line 165, in update
> > self.updateDimMenu()
> > File "/Volumes/pardi-home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr2.0/python/ccpnmr/analysis
> > /popups/CreateContourFile.py", line 239, in updateDimMenu
> > self.dim_menu.replace(entries)
> > File "/Volumes/pardi-home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr2.0/python/memops/gui/Pull
> > downMenu.py", line 392, in replace
> > self.setup(entries, selected_index, first_pass=False, colors=colors)
> > File "/Volumes/pardi-home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr2.0/python/memops/gui/Pull
> > downMenu.py", line 250, in setup
> > self.setSelectedIndex(selected_index)
> > File "/Volumes/pardi-home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr2.0/python/memops/gui/Pull
> > downMenu.py", line 444, in setSelectedIndex
> > self.callback(selected_index, self.entries[selected_index])
> > File "/Volumes/pardi-home/douglas/Documents/Programs/software/analysis/ccpnmr/ccpnmr2.0/python/ccpnmr/analysis
> > /popups/CreateContourFile.py", line 209, in updateFile
> > url = self.project.findFirstUrl(name='data')
> > AttributeError: 'MemopsRoot' object has no attribute 'findFirstUrl'
> >
> > The Contour and Save button in the Create Spectrum Contour File popup
> > is non-responsive.
> >
>
|