Author: jmorliaguet Date: Tue Apr 11 14:33:07 2006 New Revision: 2814 Modified: cpsskins/branches/jmo-perspectives/elements/element.py cpsskins/branches/jmo-perspectives/elements/interfaces.py cpsskins/branches/jmo-perspectives/interfaces.py cpsskins/branches/jmo-perspectives/standard/ds/configure.zcml cpsskins/branches/jmo-perspectives/standard/ds/image.py cpsskins/branches/jmo-perspectives/standard/ds/item.py cpsskins/branches/jmo-perspectives/standard/ds/items.py cpsskins/branches/jmo-perspectives/standard/ds/metadata.py cpsskins/branches/jmo-perspectives/tests/setup.py Log:
- the standard datastructures are now typeable Modified: cpsskins/branches/jmo-perspectives/elements/element.py ============================================================================== --- cpsskins/branches/jmo-perspectives/elements/element.py (original) +++ cpsskins/branches/jmo-perspectives/elements/element.py Tue Apr 11 14:33:07 2006 @@ -29,7 +29,8 @@ from cpsskins.elements.interfaces import IElement, IElementType, IType, INode from cpsskins.elements.interfaces import IInnerNode, ILeaf, INodeTraverser -from cpsskins.elements.interfaces import IIdentifiable, ITypeable +from cpsskins.elements.interfaces import IIdentifiable +from cpsskins.interfaces import ITypeable from cpsskins.relations.interfaces import IRelatable from cpsskins.setup.interfaces import IResourceType Modified: cpsskins/branches/jmo-perspectives/elements/interfaces.py ============================================================================== --- cpsskins/branches/jmo-perspectives/elements/interfaces.py (original) +++ cpsskins/branches/jmo-perspectives/elements/interfaces.py Tue Apr 11 14:33:07 2006 @@ -59,12 +59,6 @@ def getContentName(): """ """ -class ITypeable(Interface): - - def getType(): - """Return the element's complete type as a tuple - """ - class INode(IElement): """A generic tree node""" Modified: cpsskins/branches/jmo-perspectives/interfaces.py ============================================================================== --- cpsskins/branches/jmo-perspectives/interfaces.py (original) +++ cpsskins/branches/jmo-perspectives/interfaces.py Tue Apr 11 14:33:07 2006 @@ -13,9 +13,17 @@ ############################################################################## """ -$Id:$ +$Id$ """ __docformat__ = "reStructuredText" +from zope.interface import Interface + from cpsskins.elements.interfaces import IElement, IPortlet, IDisplay, IFormat +class ITypeable(Interface): + + def getType(): + """Return the element's complete type as a tuple + """ + Modified: cpsskins/branches/jmo-perspectives/standard/ds/configure.zcml ============================================================================== --- cpsskins/branches/jmo-perspectives/standard/ds/configure.zcml (original) +++ cpsskins/branches/jmo-perspectives/standard/ds/configure.zcml Tue Apr 11 14:33:07 2006 @@ -12,6 +12,10 @@ </class> + <adapter + factory=".metadata.Typeable" + /> + <class class=".item.Item"> <require @@ -21,6 +25,10 @@ </class> + <adapter + factory=".item.Typeable" + /> + <class class=".items.Items"> <require @@ -30,6 +38,10 @@ </class> + <adapter + factory=".items.Typeable" + /> + <class class=".image.Image"> <require @@ -39,4 +51,8 @@ </class> + <adapter + factory=".image.Typeable" + /> + </configure> Modified: cpsskins/branches/jmo-perspectives/standard/ds/image.py ============================================================================== --- cpsskins/branches/jmo-perspectives/standard/ds/image.py (original) +++ cpsskins/branches/jmo-perspectives/standard/ds/image.py Tue Apr 11 14:33:07 2006 @@ -19,10 +19,13 @@ from pprint import pprint +from zope.component import adapts from zope.interface import implements, Interface from zope.i18nmessageid import MessageFactory from zope.schema import TextLine +from cpsskins.interfaces import ITypeable + _ = MessageFactory("cpsskins") class IImage(Interface): @@ -40,6 +43,8 @@ required=False, ) +IImage.setTaggedValue('name', 'image') + class Image(object): """An image. @@ -84,3 +89,10 @@ return getattr(self, key) +class Typeable(object): + + adapts(IImage) + implements(ITypeable) + + def getType(self): + return (IImage,) Modified: cpsskins/branches/jmo-perspectives/standard/ds/item.py ============================================================================== --- cpsskins/branches/jmo-perspectives/standard/ds/item.py (original) +++ cpsskins/branches/jmo-perspectives/standard/ds/item.py Tue Apr 11 14:33:07 2006 @@ -19,10 +19,13 @@ from pprint import pprint +from zope.component import adapts from zope.interface import implements, Interface from zope.i18nmessageid import MessageFactory from zope.schema import TextLine, Bool +from cpsskins.interfaces import ITypeable + _ = MessageFactory("cpsskins") class IItem(Interface): @@ -61,7 +64,7 @@ required=False, ) - +IItem.setTaggedValue('name', 'item') class Item(object): """Some item @@ -113,3 +116,11 @@ def __getitem__(self, key): return getattr(self, key) + +class Typeable(object): + + adapts(IItem) + implements(ITypeable) + + def getType(self): + return (IItem,) Modified: cpsskins/branches/jmo-perspectives/standard/ds/items.py ============================================================================== --- cpsskins/branches/jmo-perspectives/standard/ds/items.py (original) +++ cpsskins/branches/jmo-perspectives/standard/ds/items.py Tue Apr 11 14:33:07 2006 @@ -19,10 +19,13 @@ from pprint import pprint +from zope.component import adapts from zope.interface import implements, Interface from zope.i18nmessageid import MessageFactory from zope.configuration.fields import Tokens +from cpsskins.interfaces import ITypeable + _ = MessageFactory("cpsskins") class IItems(Interface): @@ -37,6 +40,8 @@ required=False, ) +IItems.setTaggedValue('name', 'item') + class Items(object): """A list of menu items @@ -61,3 +66,11 @@ def __iter__(self): return iter(self.items) + +class Typeable(object): + + adapts(IItems) + implements(ITypeable) + + def getType(self): + return (IItems,) Modified: cpsskins/branches/jmo-perspectives/standard/ds/metadata.py ============================================================================== --- cpsskins/branches/jmo-perspectives/standard/ds/metadata.py (original) +++ cpsskins/branches/jmo-perspectives/standard/ds/metadata.py Tue Apr 11 14:33:07 2006 @@ -19,10 +19,13 @@ from pprint import pprint +from zope.component import adapts from zope.interface import implements, Interface from zope.i18nmessageid import MessageFactory from zope.schema import TextLine +from cpsskins.interfaces import ITypeable + _ = MessageFactory("cpsskins") class IMetaData(Interface): @@ -46,6 +49,8 @@ required=False, ) +IMetaData.setTaggedValue('name', 'metadata') + class MetaData(object): """Meta-data structure """ @@ -70,3 +75,10 @@ return getattr(self, key) +class Typeable(object): + + adapts(IMetaData) + implements(ITypeable) + + def getType(self): + return (IMetaData,) Modified: cpsskins/branches/jmo-perspectives/tests/setup.py ============================================================================== --- cpsskins/branches/jmo-perspectives/tests/setup.py (original) +++ cpsskins/branches/jmo-perspectives/tests/setup.py Tue Apr 11 14:33:07 2006 @@ -29,6 +29,7 @@ from cpsskins.elements.format import Formattable from cpsskins.elements.interfaces import IElement, IDisplay from cpsskins.elements.interfaces import IIdentifiable +from cpsskins.interfaces import ITypeable from cpsskins.perspectives import perspective from cpsskins.perspectives.interfaces import IPerspective from cpsskins.relations.interfaces import IRelationTool, IRelationStorage @@ -42,6 +43,7 @@ ztapi.provideAdapter(IElement, IPathAdapter, Displayable, 'displayable') ztapi.provideAdapter(IElement, IRelationTool, RelationTool) ztapi.provideAdapter(IElement, IIdentifiable, elements.element.Identifiable) + ztapi.provideAdapter(IElement, ITypeable, elements.element.Typeable) ztapi.provideAdapter(IElement, IRelatable, elements.element.Relatable) ztapi.provideAdapter(IPerspective, IRelatable, perspective.Relatable) -- http://lists.nuxeo.com/mailman/listinfo/z3lab-checkins