1
0
mirror of https://github.com/django/django.git synced 2025-10-24 22:26:08 +00:00

fixes #753 - ValidationError and CriticalValidationError now accept both strings and promises from gettext_lazy

git-svn-id: http://code.djangoproject.com/svn/django/trunk@1328 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Georg Bauer
2005-11-21 10:41:54 +00:00
parent a49fa746cd
commit e4e28d907a
2 changed files with 12 additions and 3 deletions

View File

@@ -3,6 +3,14 @@ def curry(*args, **kwargs):
return args[0](*(args[1:]+moreargs), **dict(kwargs.items() + morekwargs.items()))
return _curried
class Promise:
"""
This is just a base class for the proxy class created in
the closure of the lazy function. It can be used to recognize
promises in code.
"""
pass
def lazy(func, *resultclasses):
"""
Turns any callable into a lazy evaluated callable. You need to give result
@@ -10,7 +18,7 @@ def lazy(func, *resultclasses):
the lazy evaluation code is triggered. Results are not memoized; the
function is evaluated on every access.
"""
class __proxy__:
class __proxy__(Promise):
# This inner class encapsulates the code that should be evaluated
# lazily. On calling of one of the magic methods it will force
# the evaluation and store the result. Afterwards, the result