[Checkins] SVN: megrok.rdb/trunk/src/megrok/rdb/components.py use less internal APIs.

Martijn Faassen faassen at infrae.com
Wed Aug 20 11:51:56 EDT 2008


Log message for revision 90027:
  use less internal APIs.
  

Changed:
  U   megrok.rdb/trunk/src/megrok/rdb/components.py

-=-
Modified: megrok.rdb/trunk/src/megrok/rdb/components.py
===================================================================
--- megrok.rdb/trunk/src/megrok/rdb/components.py	2008-08-20 15:39:48 UTC (rev 90026)
+++ megrok.rdb/trunk/src/megrok/rdb/components.py	2008-08-20 15:51:55 UTC (rev 90027)
@@ -38,10 +38,16 @@
             keyfunc = default_keyfunc
         MappedCollection.__init__(self, keyfunc=keyfunc)
 
-    def _sa_on_link(self, adapter):
-        self.__parent__ = adapter.owner_state.obj()
-        self.__name__ = unicode(adapter.attr.key)
-        
+    @collection.on_link
+    def on_link(self, adapter):
+        if adapter is not None:
+            self.__parent__ = adapter.owner_state.obj()
+            self.__name__ = unicode(adapter.attr.key)
+        else:
+            # unlinking collection from parent
+            self.__parent__ = None
+            self.__name__ = None
+            
     def __setitem__(self, key, item):
         self._receive(item)
         MappedCollection.__setitem__(self, key, item)



More information about the Checkins mailing list