Hi Mark,
It looks like there is a bug in
gdata.alt.appengine.AppEngineHttpClient.request. The section which
calculates the content length should be changed to:
# If the list of headers does not include a Content-Length, attempt to
# calculate it based on the data object.
if data and 'Content-Length' not in all_headers:
all_headers['Content-Length'] = str(len(data_str))
(Note the addition of str above.) It seems that setting the HTTP
header to an int causes an error when running on App Engine, but not
when testing using the SDK. I'll make sure that this is fixed in the
next release.
Thank you,
Jeff
On Sep 12, 3:43 am, Mark Ellul <[EMAIL PROTECTED]> wrote:
> Hi,
>
> I am using the latest version of the Gdata python libs (v 1.2.0) with
> the latest google appengine sdk.
>
> My project is migrating a flex frontend application with a python
> serverside onto google appengine. The username and password are taken
> from flex and passed to my server code which authenticates using the
> gdata.contacts.service.ContactsService() object (see below).
>
> [code]
> import gdata.contacts.service
> import gdata.alt.appengine
> gdataService = gdata.contacts.service.ContactsService()
> gdata.alt.appengine.run_on_appengine(gdataService)
> if(captcha_response != None):
> gdataService.ClientLogin(user_name, password, captcha_token =
> login_captcha_token, captcha_response = captcha_response )
> else:
> gdataService.ClientLogin(user_name, password)
> [/code]
>
> My main issue is that the below code works on the dev_server.py
> however when I update my google appengine app, well it does not work
> live. I have retrieved the exception data from below.
>
> TypeError("object of type 'int' has no len()") in putPrefixedString()
> (ProtocolBuffer.py:329) <- OutputUnchecked() (urlfetch_service_pb.py:
> 423) <- OutputUnchecked() (urlfetch_service_pb.py:627) <- Output()
> (ProtocolBuffer.py:150) <- MakeCall() (apiproxy.py:144) <-
> MakeSyncCall() (apiproxy.py:244) <- MakeSyncCall()
> (apiproxy_stub_map.py:46) <- fetch() (urlfetch.py:253) <- request()
> (appengine.py:115) <- ProgrammaticLogin() (service.py:449) <-
> ClientLogin() (service.py:512) <- login() (iodinexmlrpcserver.py:55)
>
> Any help would be appreciated
>
> Regards
>
> Mark
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Google App Engine" 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/google-appengine?hl=en
-~----------~----~----~----~------~----~------~--~---