request.args(0,default=0, cast=int, url_onerror=URL(...)), thanks Anthony
This commit is contained in:
2
VERSION
2
VERSION
@@ -1 +1 @@
|
||||
Version 1.99.7 (2012-04-29 18:49:27) dev
|
||||
Version 1.99.7 (2012-04-30 11:39:06) dev
|
||||
|
||||
@@ -94,15 +94,6 @@ class Request(Storage):
|
||||
self.is_local = False
|
||||
self.global_settings = settings.global_settings
|
||||
|
||||
def intargs(self,n,default=None,url_onerror=None):
|
||||
k = self.args(n) or default
|
||||
try:
|
||||
return int(k)
|
||||
except (ValueError, TypeError):
|
||||
if url_onerror:
|
||||
redirect(url_onerror)
|
||||
raise HTTP(404)
|
||||
|
||||
def compute_uuid(self):
|
||||
self.uuid = '%s/%s.%s.%s' % (
|
||||
self.application,
|
||||
|
||||
@@ -25,11 +25,21 @@ class List(list):
|
||||
instead of IndexOutOfBounds
|
||||
"""
|
||||
|
||||
def __call__(self, i, default=None):
|
||||
def __call__(self, i, default=None, cast=None, url_onerror=None):
|
||||
if 0<=i<len(self):
|
||||
return self[i]
|
||||
value = self[i]
|
||||
else:
|
||||
return default
|
||||
value = default
|
||||
if cast:
|
||||
try:
|
||||
value = cast(value)
|
||||
except (ValueError, TypeError):
|
||||
from http import HTTP, redirect
|
||||
if url_onerror:
|
||||
redirect(url_onerror)
|
||||
else:
|
||||
raise HTTP(404)
|
||||
return value
|
||||
|
||||
class Storage(dict):
|
||||
|
||||
|
||||
Reference in New Issue
Block a user