################################################################################ Copyright (c) 2002 Zope Corporation 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.###############################################################################"""Adapter-style interface registrySee Adapter class.$Id$"""fromzope.interfaceimportDeclarationdef_flatten(implements,include_None=0):try:r=implements.flattened()exceptAttributeError:ifimplementsisNone:r=()else:r=Declaration(implements).flattened()ifnotinclude_None:returnrr=list(r)r.append(None)returnr