Sorry, spoke too soon. I saw how auth works and did something similar. right now it is something like this, mind that names can be changed:
@req_args.requires_validVars( 'www.google.com', ('search',), ('search','highlight')) first param is where to redirect on error and the other params are tuples of possible vars. In this case it validates if you pass ?search=... OR search=... AND highlight=... and redirects on all other cases (missing params or too many params) Any suggestions? I could see this also validating the type of each parameter (like string or number)... I'll clean up the code later and release it then. Regards, Tiago ------- On Sat, Feb 13, 2010 at 12:19 AM, Tiago Almeida <tiago.b.alme...@gmail.com> wrote: > Hello, I think i've finished doing this but I'm having trouble > accessing the request object from the decorator function. > How would you define a decorator that accesses the request? > I have something like this > > class require_args(object): > def __call__(self, f): > def decorated(*args): > global request > if argsAreValid( tuple(request.args.keys()), > self.arguments): > f(*args) > else: > ... > return decorated > > I get the following error: > > global request > NameError: global name 'request' is not defined > > > Thanks a lot in advance. > -- > On Fri, Feb 12, 2010 at 4:02 PM, Tiago Almeida > <tiago.b.alme...@gmail.com> wrote: >> >> Shouldn't be hard to implement that decorator, though. I'll try later (at >> work now) because this is useful. >> >> Regards, >> Tiago >> >> On Fri, Feb 12, 2010 at 12:19 AM, minh <mdn0...@gmail.com> wrote: >>> >>> Is there a way to require arguments/vars in the controller functions >>> other than explicitly checking for them? >>> >>> It would be nice if we could decorate the functions similar to how the >>> auth works, ex: >>> >>> @require_arg_function(minargs=2, message="Invalid arguments") >>> def some_function(): >>> .... >>> >>> Thanks. >>> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "web2py-users" group. >>> To post to this group, send email to web...@googlegroups.com. >>> To unsubscribe from this group, send email to >>> web2py+unsubscr...@googlegroups.com. >>> For more options, visit this group at >>> http://groups.google.com/group/web2py?hl=en. >>> >> > -- You received this message because you are subscribed to the Google Groups "web2py-users" group. To post to this group, send email to web...@googlegroups.com. To unsubscribe from this group, send email to web2py+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/web2py?hl=en.