Merge branch 'master' of github.com:web2py/web2py
This commit is contained in:
+4
-2
@@ -275,7 +275,7 @@ class List(list):
|
|||||||
instead of `IndexOutOfBounds`.
|
instead of `IndexOutOfBounds`.
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __call__(self, i, default=None, cast=None, otherwise=None):
|
def __call__(self, i, default=DEFAULT, cast=None, otherwise=None):
|
||||||
"""Allows to use a special syntax for fast-check of `request.args()`
|
"""Allows to use a special syntax for fast-check of `request.args()`
|
||||||
validity
|
validity
|
||||||
Args:
|
Args:
|
||||||
@@ -291,7 +291,9 @@ class List(list):
|
|||||||
request.args(0,default=0,cast=int,otherwise='http://error_url')
|
request.args(0,default=0,cast=int,otherwise='http://error_url')
|
||||||
request.args(0,default=0,cast=int,otherwise=lambda:...)
|
request.args(0,default=0,cast=int,otherwise=lambda:...)
|
||||||
"""
|
"""
|
||||||
value = self[i] or default
|
value = self[i]
|
||||||
|
if not value and default is not DEFAULT:
|
||||||
|
value, cast, otherwise = default, False, False
|
||||||
try:
|
try:
|
||||||
if cast:
|
if cast:
|
||||||
value = cast(value)
|
value = cast(value)
|
||||||
|
|||||||
@@ -138,6 +138,9 @@ class TestList(unittest.TestCase):
|
|||||||
self.assertEqual(a(3, cast=int), 1234)
|
self.assertEqual(a(3, cast=int), 1234)
|
||||||
a.append('x')
|
a.append('x')
|
||||||
self.assertRaises(HTTP, a, 4, cast=int)
|
self.assertRaises(HTTP, a, 4, cast=int)
|
||||||
|
b = List()
|
||||||
|
self.assertEqual(b(0, cast=int, default=None), None)
|
||||||
|
self.assertEqual(b(0, cast=int, default=None, otherwise='something'), None)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|||||||
Reference in New Issue
Block a user