Comment 18 for bug 848807

Revision history for this message
Tres Seaver (tseaver) wrote :

Here are the modules which use 'declareObjectPublic' in code::

  $ find src -name "*.py" | xargs grep -l declareObjectPublic
  src/OFS/misc_.py
  src/HelpSys/ObjectRef.py
  src/Products/Sessions/__init__.py
  src/Products/Sessions/BrowserIdManager.py
  src/Products/Sessions/SessionDataManager.py
  src/Products/Transience/TransientObject.py
  src/Products/Five/security.py

  $ find eggs -name "*.py" | xargs grep -l declareObjectPublic
  eggs/five.formlib-1.0.4-py2.6.egg/five/formlib/objectwidget.py

Classes can also get '__roles__' assigned as None via
'Products.Five.security.protectClass'. I hacked that method to
dump the names of such classes::

  Products.Five.metaclass.AbsoluteURL'>
  Products.Five.metaclass.OFSTraversableAbsoluteURL'>
  Products.Five.metaclass.RootAbsoluteURL'>
  Products.Five.metaclass.MenuAccessView'>
  Products.Five.metaclass.FormMacros'>
  Products.Five.metaclass.SimpleViewClass
   (from eggs/.../zope/app/form/browser/widget_macros.pt)
  Products.Five.metaclass.SimpleViewClass
   (from eggs/.../zope/app/form/browser/add.pt)
  Products.Five.metaclass.SimpleViewClass
   (from src/Products/Five/skin/five_template.pt)