]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
Fix the collection.link decorator
authorLuca Wehrstedt <luca.wehrstedt@gmail.com>
Wed, 16 Jan 2013 15:26:15 +0000 (16:26 +0100)
committerLuca Wehrstedt <luca.wehrstedt@gmail.com>
Wed, 16 Jan 2013 15:26:15 +0000 (16:26 +0100)
lib/sqlalchemy/orm/collections.py

index 620c20910b4b2f400bb46ceb61f96bc24c463523..3047a5d26828d13da354aa55efbcb18769b647a3 100644 (file)
@@ -292,8 +292,8 @@ class collection(object):
 
     The decorators fall into two groups: annotations and interception recipes.
 
-    The annotating decorators (appender, remover, iterator,
-    internally_instrumented, link) indicate the method's purpose and take no
+    The annotating decorators (appender, remover, iterator, linker, converter,
+    internally_instrumented) indicate the method's purpose and take no
     arguments.  They are not written with parens::
 
         @collection.appender
@@ -419,7 +419,7 @@ class collection(object):
         return fn
 
     @staticmethod
-    def link(fn):
+    def linker(fn):
         """Tag the method as a the "linked to attribute" event handler.
 
         This optional event handler will be called when the collection class
@@ -429,7 +429,7 @@ class collection(object):
         that has been linked, or None if unlinking.
 
         """
-        setattr(fn, '_sa_instrument_role', 'link')
+        setattr(fn, '_sa_instrument_role', 'linker')
         return fn
 
     @staticmethod
@@ -609,14 +609,14 @@ class CollectionAdapter(object):
     def link_to_self(self, data):
         """Link a collection to this adapter, and fire a link event."""
         setattr(data, '_sa_adapter', self)
-        if hasattr(data, '_sa_on_link'):
-            getattr(data, '_sa_on_link')(self)
+        if hasattr(data, '_sa_linker'):
+            getattr(data, '_sa_linker')(self)
 
     def unlink(self, data):
         """Unlink a collection from any adapter, and fire a link event."""
         setattr(data, '_sa_adapter', None)
-        if hasattr(data, '_sa_on_link'):
-            getattr(data, '_sa_on_link')(None)
+        if hasattr(data, '_sa_linker'):
+            getattr(data, '_sa_linker')(None)
 
     def adapt_like_to_iterable(self, obj):
         """Converts collection-compatible objects to an iterable of values.
@@ -921,7 +921,7 @@ def _instrument_class(cls):
         if hasattr(method, '_sa_instrument_role'):
             role = method._sa_instrument_role
             assert role in ('appender', 'remover', 'iterator',
-                            'link', 'converter')
+                            'linker', 'converter')
             roles[role] = name
 
         # transfer instrumentation requests from decorated function