def findZopeExplorerNode(catandmeta, respath, transports): category, metatype = catandmeta.split('|') for cat in transports.entries: if hasattr(cat, 'itemProtocol') and cat.itemProtocol == 'zope': itms = cat.openList() for itm in itms: if itm.name == category or itm.treename == category: return itm.getNodeFromPath('/' + respath, metatype) raise ExplorerNodes.TransportError( 'Zope transport could not be found: %s || %s' % (category, respath))