Generally it's helpful if you can give more detail than just "not working".
Anyway, note that an insert requires keywords and values, not just
positional arguments. You can actually use post_params itself to do the
insert. Also, no need to select and iterate over all auth_user records to
check the API key -- just check for the existence of that single key via a
query.
if db(db.auth_user.api_key == post_params.api_key).count():
return t.validate_and_insert(t._filter_fields(**post_params))
Anthony
On Thursday, January 30, 2014 5:30:52 AM UTC-5, Avi A wrote:
>
> Hi,
> I am trying something like that:
> #on one local script instance:
> import requests
>
> test_params = {'api_key': 'api_key', 'test': 'test', 'f_platform':
> 'platform', 'f_device': 'device', 'f_steps': '10',
> 'f_matches':'7', 'f_missmatches': '3', 'f_missing': '0'}
> r = requests.post('http://127.0.0.1:8000/qatests/api', params=test_params)
>
> #and the api function:
>
> @request.restful()
> def api():
> response.view = 'generic.'+request.extension
> def GET(search):
> pass
> clients = db(db.auth_user).select(db.auth_user.api_key)
> t = db.t_tests_results
> def POST(**post_params):
> for client in clients:
> if client.api_key == post_params.api_key:
> return t.validate_and_insert(post_params.test,
> post_params.f_platform,
> post_params.f_device,
> post_params.f_steps,
> post_params.f_matches,
> post_params.f_missmatches,
> post_params.f_missing)
> else:
> raise HTTP(400)
>
> It's not working... Any help?
> Thanks.
>
>
>
>
>
>
>
>
>
--
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
---
You received this message because you are subscribed to the Google Groups
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.