Massimo,
Thanks for the reply. But it didn't work. I've this simple assign
function:
def assign():
print request.vars
and it prints this. Note the \r\n as first characters. This is what is
causing the problem
<Storage {'\r\nfields': "{'case_id': 16, 'assign_to':
'[email protected]"}>
Just for the ref, I'm using the below python script for sending
parameters.
data = {'fields': {'case_id': 16, 'assign_to': '[email protected]'}}
data = urllib.urlencode(data)
response = urllib2.urlopen(request,data).read()
Hope you can help me out. Thanks,
Joseph
On Apr 19, 8:10 pm, mdipierro <[email protected]> wrote:
> The "assign" function expects the request.vars.fields to be in JSON.
> This should do it but I have not tried it.
>
> data = {'fields': simplejson.dumps({'case_id': 16, 'assign_to':
> '[email protected]'})}
> data = urllib.urlencode(data)
> response = urllib2.urlopen(request,data).read()
>
> Massimo
>
> On Apr 19, 5:55 am, Joseph Jude <[email protected]> wrote:
>
> > Hi all,
> > I have a function as below. This is called as part of API function
> > rather than from the browser.
>
> > def assign():
> > print request.vars.fields
> > if request.vars.fields:
> > case_values=json.loads(request.vars.fields)
> > ret_dict=api.assign_case(db,case_values)
> > else:
> > ret_dict={'id': 1, 'msg': 'No parameters received'}
> > return json.dumps(ret_dict)
>
> > When I invoke this via,
> > curl -u [email protected]:web2pyhttp://localhost:8000/init/api/assign/
> > -d fields='{"id":16,"assign_to":"[email protected]"}'
>
> > I do get request.vars.fields properly and the function executes as
> > desired. However when I try the same via a python script like the
> > below:
>
> > data = {
> > 'fields': {'case_id': 16, 'assign_to': '[email protected]'}
> > }
>
> > data = urllib.urlencode(data)
> > response = urllib2.urlopen(request,data).read()
>
> > There is no input parameter (fields). When I examine the
> > request.vars.fields, it shows like the below:
>
> > <Storage {'\r\nfields': "{'case_id': 16, 'assign_to':
> > '[email protected]'%"}>
>
> > There are \r\n at the begining and % at the end. Is there a reason for
> > this? How can I test my function using python script (ie achieve the
> > same result as curl).
>
> > Hope my question is not too confusing.
>
> > Thank you,
> > Joseph
>
>
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"web2py Web Framework" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---