[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