Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Zope: CMF
CMFCatalogAware.dispatchToOpaqueItems madness
 

Index | Next | Previous | View Flat


matth at netsight

Dec 18, 2008, 1:54 PM


Views: 602
Permalink
CMFCatalogAware.dispatchToOpaqueItems madness

I really don't understand this code, so maybe I'm missing something here, but
anyone know wtf the opaqueItem code does in CMFCore.CMFCatalogAware?!

Why does the opaqueItems method iterate through *every* attribute in the root of
the site causing all objects (including, at least in plone) all sub-objects of
folders to be woken up too):

for name in self_base.__dict__.keys():
obj = getattr(self, name)
if ICallableOpaqueItem.providedBy(obj) \
or z2ICallableOpaqueItem.isImplementedBy(obj):
items.append((obj.getId(), obj))

If it is looking for opaque items (I still don't know what these really are)
then why does it look in content objects too?!

How about the changes below?

objectids = dict([(x,1) for x in self.objectIds()])

for name in self_base.__dict__.keys():
if name not in objectids:

obj = getattr(self, name)
if ICallableOpaqueItem.providedBy(obj) \
or z2ICallableOpaqueItem.isImplementedBy(obj):
items.append((obj.getId(), obj))

(that was probably all wrapped to hell)

Basically, I've got a production site which loads up several tens of thousands
of objects from the ZODB just to display the front page. Madness.

-Matt

--
Matt Hamilton matth[at]netsight.co.uk
Netsight Internet Solutions, Ltd. Understand. Develop. Deliver
http://www.netsight.co.uk +44 (0)117 9090901
Web Design | Zope/Plone Development & Consulting | Co-location | Hosting

_______________________________________________
Zope-CMF maillist - Zope-CMF[at]lists.zope.org
http://mail.zope.org/mailman/listinfo/zope-cmf

See https://bugs.launchpad.net/zope-cmf/ for bug reports and feature requests

Subject User Time
CMFCatalogAware.dispatchToOpaqueItems madness matth at netsight Dec 18, 2008, 1:54 PM
    Re: CMFCatalogAware.dispatchToOpaqueItems madness matth at netsight Dec 19, 2008, 1:48 AM
        Re: CMFCatalogAware.dispatchToOpaqueItems madness charlie at begeistert Dec 19, 2008, 2:34 AM
    Re: CMFCatalogAware.dispatchToOpaqueItems madness matth at netsight Dec 19, 2008, 3:53 AM
    Re: CMFCatalogAware.dispatchToOpaqueItems madness tseaver at palladion Dec 20, 2008, 1:09 AM
        Re: CMFCatalogAware.dispatchToOpaqueItems madness tseaver at palladion Dec 20, 2008, 1:33 AM

  Index | Next | Previous | View Flat
 
 


Interested in having your list archived? Contact lists@gossamer-threads.com
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.