[Checkins] SVN: lovely.relation/trunk/ - the default relation types
lookup uses a new interface for the utility
Juergen Kartnaller
juergen at kartnaller.at
Mon Sep 17 03:18:32 EDT 2007
Log message for revision 79706:
- the default relation types lookup uses a new interface for the utility
lookup. This is need to make sure different relation types utilities do not
interfere with the defualt lookup.
Changed:
U lovely.relation/trunk/CHANGES.txt
U lovely.relation/trunk/src/lovely/relation/README.txt
U lovely.relation/trunk/src/lovely/relation/app.py
U lovely.relation/trunk/src/lovely/relation/interfaces.py
-=-
Modified: lovely.relation/trunk/CHANGES.txt
===================================================================
--- lovely.relation/trunk/CHANGES.txt 2007-09-17 06:46:23 UTC (rev 79705)
+++ lovely.relation/trunk/CHANGES.txt 2007-09-17 07:18:31 UTC (rev 79706)
@@ -5,6 +5,11 @@
After
=====
+- the default relation types lookup uses a new interface for the utility
+ lookup. This is need to make sure different relation types utilities do not
+ interfere with the defualt lookup.
+
+
2007/09/14 1.1.0a2
==================
Modified: lovely.relation/trunk/src/lovely/relation/README.txt
===================================================================
--- lovely.relation/trunk/src/lovely/relation/README.txt 2007-09-17 06:46:23 UTC (rev 79705)
+++ lovely.relation/trunk/src/lovely/relation/README.txt 2007-09-17 07:18:31 UTC (rev 79706)
@@ -150,14 +150,14 @@
Relation types can be provided to Relations via a RelaationTypes container. The
container can then be registered as a utility.
- >>> from lovely.relation.interfaces import IRelationTypes
+ >>> from lovely.relation.interfaces import IBasicRelationTypes
>>> from lovely.relation.app import RelationTypes
>>> types = RelationTypes()
>>> types
<RelationTypes None>
>>> from zope import component
- >>> component.provideUtility(types, IRelationTypes)
+ >>> component.provideUtility(types, IBasicRelationTypes)
Now we can put our relations into this container and use them by name.
@@ -165,7 +165,7 @@
>>> types['my targets']
<RelationType u'my targets'>
-Now we can use the relation name to lookup for reltated targets.
+Now we can use the relation name to lookup for related targets.
>>> sorted([s for s in relations.findSources(target, 'my targets')],
... key=lambda x:x.name)
Modified: lovely.relation/trunk/src/lovely/relation/app.py
===================================================================
--- lovely.relation/trunk/src/lovely/relation/app.py 2007-09-17 06:46:23 UTC (rev 79705)
+++ lovely.relation/trunk/src/lovely/relation/app.py 2007-09-17 07:18:31 UTC (rev 79706)
@@ -34,7 +34,7 @@
from zope.security.proxy import removeSecurityProxy
from lovely.relation.interfaces import (IRelationship,
IRelations,
- IRelationTypes,
+ IBasicRelationTypes,
IRelationType,
IRelationTypeLookup,
IOneToOneRelationship,
@@ -54,8 +54,7 @@
@CachedProperty
def relationtypes(self):
- # BBB: This should *really* use getUtility
- return component.queryUtility(IRelationTypes)
+ return component.queryUtility(IBasicRelationTypes)
def _lookup(self, relation):
if isinstance(relation, basestring):
@@ -352,7 +351,7 @@
class RelationTypes(btree.BTreeContainer, Contained):
- interface.implements(IRelationTypes)
+ interface.implements(IBasicRelationTypes)
def __repr__(self):
return '<%s %r>'%(self.__class__.__name__, self.__name__)
Modified: lovely.relation/trunk/src/lovely/relation/interfaces.py
===================================================================
--- lovely.relation/trunk/src/lovely/relation/interfaces.py 2007-09-17 06:46:23 UTC (rev 79705)
+++ lovely.relation/trunk/src/lovely/relation/interfaces.py 2007-09-17 07:18:31 UTC (rev 79706)
@@ -88,11 +88,17 @@
constraints.contains(IRelationType)
+class IBasicRelationTypes(IRelationTypes):
+ """A simple relation types container."""
+
+
class IRelationTypeLookup(interface.Interface):
"""Encapsulate relation type lookup."""
relationtypes = interface.Attribute(
- """Property returning the relationtypes container used for lookups. Readonly.
+ """Property returning the relationtypes container used for lookups.
+
+ Readonly.
""")
def _lookup(relation):
More information about the Checkins
mailing list