From 165eda57336afd2fcc205a07bed662e021c81861 Mon Sep 17 00:00:00 2001 From: Chris Withers Date: Tue, 23 Feb 2010 17:17:08 +0000 Subject: a handy @classproperty decorator --- lib/sqlalchemy/util.py | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'lib/sqlalchemy/util.py') diff --git a/lib/sqlalchemy/util.py b/lib/sqlalchemy/util.py index 873243de1..97270004b 100644 --- a/lib/sqlalchemy/util.py +++ b/lib/sqlalchemy/util.py @@ -1639,3 +1639,13 @@ def _decorate_with_warning(func, wtype, message, docstring_header=None): decorated = warned(func) decorated.__doc__ = doc return decorated + +class classproperty(property): + """A decorator that behaves like @property except that operates + on classes rather than instances. + + This is helpful when you need to compute __table_args__ and/or + __mapper_args__ when using declarative.""" + def __get__(desc, self, cls): + return desc.fget(cls) + -- cgit v1.2.1