1############################################################################## 2# 3# Copyright (c) 2001, 2002 Zope Foundation and Contributors. 4# All Rights Reserved. 5# 6# This software is subject to the provisions of the Zope Public License, 7# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. 8# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED 9# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 10# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS 11# FOR A PARTICULAR PURPOSE 12# 13############################################################################## 14"""Browser traversal interfaces 15""" 16from zope.interface import Interface 17 18class IAbsoluteURL(Interface): 19 20 def __unicode__(): 21 """Returns the URL as a unicode string.""" 22 23 def __str__(): 24 """Returns an ASCII string with all unicode characters url quoted.""" 25 26 def __repr__(): 27 """Get a string representation """ 28 29 def __call__(): 30 """Returns an ASCII string with all unicode characters url quoted.""" 31 32 def breadcrumbs(): 33 """Returns a tuple like ({'name':name, 'url':url}, ...) 34 35 Name is the name to display for that segment of the breadcrumbs. 36 URL is the link for that segment of the breadcrumbs. 37 """ 38 39class IAbsoluteURLAPI(Interface): 40 41 def absoluteURL(ob, request): 42 """Compute the absolute URL of an object """ 43