[Zope] Re: Upgrade woes: BTreeFolder --> BTreeFolder2

Ken Ara feedreader at yahoo.com
Sat May 5 09:08:17 EDT 2007


Also unable to delete using zopectl debug, but is
there an additional clue at the end of this traceback?
:

>>>
app.OrgDocumentLibrary.manage_delObjects(['Documents'])
2007-05-05 07:37:17 WARNING OFS.Uninstalled Could not
import class 'BTree' from module 'BTree'
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File
"/usr/local/zope/lib/python/OFS/ObjectManager.py",
line 524, in manage_delObjects
    self._delObject(id)
  File
"/usr/local/zope/lib/python/OFS/ObjectManager.py",
line 379, in _delObject
    notify(ObjectWillBeRemovedEvent(ob, self, id))
  File
"/usr/local/zope/lib/python/zope/event/__init__.py",
line 23, in notify
    subscriber(event)
  File
"/usr/local/zope/lib/python/zope/component/event.py",
line 26, in dispatch
    for ignored in zope.component.subscribers(event,
None):
  File
"/usr/local/zope/lib/python/zope/component/_api.py",
line 130, in subscribers
    return sitemanager.subscribers(objects, interface)
  File
"/usr/local/zope/lib/python/zope/component/registry.py",
line 290, in subscribers
    return self.adapters.subscribers(objects,
provided)
  File
"/usr/local/zope/lib/python/zope/interface/adapter.py",
line 535, in subscribers
    subscription(*objects)
  File
"/usr/local/zope/lib/python/zope/component/event.py",
line 33, in objectEventNotify
    adapters =
zope.component.subscribers((event.object, event),
None)
  File
"/usr/local/zope/lib/python/zope/component/_api.py",
line 130, in subscribers
    return sitemanager.subscribers(objects, interface)
  File
"/usr/local/zope/lib/python/zope/component/registry.py",
line 290, in subscribers
    return self.adapters.subscribers(objects,
provided)
  File
"/usr/local/zope/lib/python/zope/interface/adapter.py",
line 535, in subscribers
    subscription(*objects)
  File
"/usr/local/zope/lib/python/OFS/subscribers.py", line
108, in dispatchObjectWillBeMovedEvent
    dispatchToSublocations(ob, event)
  File
"/usr/local/zope/lib/python/zope/app/container/contained.py",
line 181, in dispatchToSublocations
    for sub in subs.sublocations():
  File
"/usr/local/zope/lib/python/OFS/subscribers.py", line
88, in sublocations
    for ob in self.container.objectValues():
  File
"/usr/local/zope/lib/python/Products/BTreeFolder2/BTreeFolder2.py",
line 368, in objectValues
    return LazyMap(self._getOb, self.objectIds(spec))
  File
"/usr/local/zope/lib/python/Products/BTreeFolder2/BTreeFolder2.py",
line 347, in objectIds
    spec = mti.keys() #all meta types
AttributeError: 'NoneType' object has no attribute
'keys'

Is the problem with the contained objects? 
Here's what happens when I try to list them:

>>> for o in
app.OrgDocumentLibrary.Documents.objectIds():
...   print o
...
2007-05-05 07:47:08 WARNING OFS.Uninstalled Could not
import class 'BTree' from module 'BTree'
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
  File
"/usr/local/zope/lib/python/Products/BTreeFolder2/BTreeFolder2.py",
line 347, in objectIds
    spec = mti.keys() #all meta types
AttributeError: 'NoneType' object has no attribute
'keys'

Thanks 
-Ken

--- Laurence Rowe wrote:
>
> Try deleting them with del from python (eg from
zopectl debug) rather 
> than through the ZMI.
> 
> Laurence
> 
> Ken Ara wrote:
> > I have a couple of outstanding issues following an
> > otherwise successful upgrade from Zope 2.7.4 to
> > 2.10.3-final.
> > 
> > One key application used the old DocumentLibrary
> > product
> >
(http://www.zope.org/Members/Kaivo/DocumentLibrary). I
> > have since reimplemented most of the functionality
and
> > migrated out the content, but I am unable to
delete
> > the old instances of the 'DocumentStore' class.
This
> > class is based on the old BTreeFolder which, as
far as
> > I can tell, cannot be be used in current versions
of
> > Zope. 
> > 
> > Starting Zope with the old BTreeFolder fails:
> > 
> > Traceback (most recent call last):
> >   File
> > "/usr/local/zope/lib/python/OFS/Application.py",
line
> > 703, in import_product
> >     product=__import__(pname, global_dict,
> > global_dict, silly)
> >   File
> >
"/usr/local/zope/client0/Products/BTreeFolder/__init__.py",
> > line 89, in ?
> >     import BTreeFolder
> >   File
> >
"/usr/local/zope/client0/Products/BTreeFolder/BTreeFolder.py",
> > line 91, in ?
> >     from BTree import BTree
> > ImportError: No module named BTree
> > 
> > Swapping in BTreeFolder2 allowed me to access
existing
> > instances of DocumentLibrary, however attempting
to
> > delete the old instances of DocumentStore fails
with
> > the following error:
> > 
> > Traceback (innermost last):
> >   Module ZPublisher.Publish, line 119, in publish
> >   Module ZPublisher.mapply, line 88, in mapply
> >   Module ZPublisher.Publish, line 42, in
call_object
> >   Module OFS.ObjectManager, line 524, in
> > manage_delObjects
> >   Module OFS.ObjectManager, line 379, in
_delObject
> >   Module zope.event, line 23, in notify
> >   Module zope.component.event, line 26, in
dispatch
> >   Module zope.component._api, line 130, in
subscribers
> >   Module zope.component.registry, line 290, in
> > subscribers
> >   Module zope.interface.adapter, line 535, in
> > subscribers
> >   Module zope.component.event, line 33, in
> > objectEventNotify
> >   Module zope.component._api, line 130, in
subscribers
> >   Module zope.component.registry, line 290, in
> > subscribers
> >   Module zope.interface.adapter, line 535, in
> > subscribers
> >   Module OFS.subscribers, line 108, in
> > dispatchObjectWillBeMovedEvent
> >   Module zope.app.container.contained, line 181,
in
> > dispatchToSublocations
> >   Module OFS.subscribers, line 88, in sublocations
> >   Module Products.BTreeFolder2.BTreeFolder2, line
368,
> > in objectValues
> >   Module Products.BTreeFolder2.BTreeFolder2, line
347,
> > in objectIds
> > AttributeError: 'NoneType' object has no attribute
> > 'keys'
> > 
> > If I could install the original BTreeFolder in
Zope
> > 2.10.3 - if only briefly - would that enable me to
> > delete the old instances? Other ideas?
> > 
> > Thanks,
> > Ken
> > 
> > __________________________________________________
> > Do You Yahoo!?
> > Tired of spam?  Yahoo! Mail has the best spam
protection around 
> > http://mail.yahoo.com 
> > _______________________________________________
> > Zope maillist  -  Zope at ...
> > http://mail.zope.org/mailman/listinfo/zope
> > **   No cross posts or HTML encoding!  **
> > (Related lists - 
> > 
http://mail.zope.org/mailman/listinfo/zope-announce
> >  http://mail.zope.org/mailman/listinfo/zope-dev )
> > 
> 
> _______________________________________________
> Zope maillist  -  Zope at ...
> http://mail.zope.org/mailman/listinfo/zope
> **   No cross posts or HTML encoding!  **
> (Related lists - 
>  http://mail.zope.org/mailman/listinfo/zope-announce
>  http://mail.zope.org/mailman/listinfo/zope-dev )
>


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 


More information about the Zope mailing list