Source code for zope.app.apidoc.ifacemodule.menu

##############################################################################
#
# Copyright (c) 2004 Zope Foundation and Contributors.
# All Rights Reserved.
#
# This software is subject to the provisions of the Zope Public License,
# Version 2.1 (ZPL).  A copy of the ZPL should accompany this distribution.
# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED
# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS
# FOR A PARTICULAR PURPOSE.
#
##############################################################################
"""Interface Module Browser Menu (Tree)


"""
__docformat__ = 'restructuredtext'
import operator
from zope.security.proxy import removeSecurityProxy
import re

whitepattern = re.compile(r'\s{2,}')
namegetter = operator.itemgetter('name')

[docs]def getAllTextOfInterface(iface): """Get all searchable text from an interface""" iface = removeSecurityProxy(iface) text = iface.__doc__ or '' for name in iface: attr = iface[name] text += attr.getName() text += attr.getDoc() or '' return text