############################################################################## # # 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. # ############################################################################## """Interfaces that give the size of an object. $Id: interfaces.py 25177 2004-06-02 13:17:31Z jim $ """ from zope.interface import Interface # basic units: # 'byte' # 'item' for example, number of subobjects for a folder # None for unsized things # 'line' for source-code like things class ISized(Interface): def sizeForSorting(): """Returns a tuple (basic_unit, amount) Used for sorting among different kinds of sized objects. 'amount' need only be sortable among things that share the same basic unit.""" def sizeForDisplay(): """Returns a string giving the size. """