From 2e627a62ea3234b07c59d818bca6e37fdcea29ee Mon Sep 17 00:00:00 2001 From: Luca Wehrstedt Date: Wed, 16 Jan 2013 16:26:15 +0100 Subject: [PATCH] Fix the collection.link decorator --- lib/sqlalchemy/orm/collections.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/lib/sqlalchemy/orm/collections.py b/lib/sqlalchemy/orm/collections.py index 620c20910b..3047a5d268 100644 --- a/lib/sqlalchemy/orm/collections.py +++ b/lib/sqlalchemy/orm/collections.py @@ -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 -- 2.47.2