Hi Manuel,
  Yes, this is very possible to do.  It is how the datastore admin
copy tool works.  You might take a look at that code for an example of
how to do the basic setup,
    
http://code.google.com/p/googleappengine/source/browse/trunk/python/google/appengine/ext/datastore_admin/copy_handler.py



Robert





On Tue, Jan 24, 2012 at 06:22, Manuel | nubbius <[email protected]> wrote:
> I have seen with Remote API in Java is possible to access  the
> services / objects of one App Engine
> application from a different App Engine application, see
> http://code.google.com/intl/es-ES/appengine/docs/java/tools/remoteapi.html#Configuring_Remote_API_on_an_App_Engine_Client
>
> Is it possible to do the same with a Python Instance, I mean, accesing
> from one Python Instance (client) to services / objects in another
> Python instance.
>
> I've been dealing with Remote API, but when I upload, deploy my script
> to GAE i get the following error (In SDK/ development I don't get this
> error):
>
> maximum recursion depth exceeded
> Traceback (most recent call last):
>  File "/base/python_runtime/python_lib/versions/1/google/appengine/
> ext/webapp/_webapp25.py", line 701, in __call__
>    handler.get(*groups)
>  File "/base/data/home/apps/s~backuppython/3.356320928819354525/
> backup.py", line 218, in get
>    initialize_remote_api()
>  File "/base/data/home/apps/s~backuppython/3.356320928819354525/
> backup.py", line 196, in initialize_remote_api
>    remote_api_stub.MaybeInvokeAuthentication()
>  File "/base/python_runtime/python_lib/versions/1/google/appengine/
> ext/remote_api/remote_api_stub.py", line 660, in
> MaybeInvokeAuthentication
>    datastore_stub._server.Send(datastore_stub._path, payload=None)
>  File "/base/data/home/apps/s~backuppython/3.356320928819354525/
> google/appengine/tools/appengine_rpc.py", line 375, in Send
>    f = self.opener.open(req)
>  File "/base/data/home/apps/s~backuppython/3.356320928819354525/
> google/appengine/tools/urllib2.py", line 391, in open
>    response = self._open(req, data)
>  File "/base/data/home/apps/s~backuppython/3.356320928819354525/
> google/appengine/tools/urllib2.py", line 409, in _open
>    '_open', req)
>  File "/base/data/home/apps/s~backuppython/3.356320928819354525/
> google/appengine/tools/urllib2.py", line 369, in _call_chain
>    result = func(*args)
>  File "/base/data/home/apps/s~backuppython/3.356320928819354525/
> google/appengine/tools/urllib2.py", line 1173, in http_open
>    return self.do_open(httplib.HTTPConnection, req)
>  File "/base/data/home/apps/s~backuppython/3.356320928819354525/
> google/appengine/tools/urllib2.py", line 1146, in do_open
>    r = h.getresponse()
>  File "/base/python_runtime/python_dist/lib/python2.5/httplib.py",
> line 204, in getresponse
>    deadline=self.timeout)
>  File "/base/python_runtime/python_lib/versions/1/google/appengine/
> api/urlfetch.py", line 263, in fetch
>    return rpc.get_result()
>  File "/base/python_runtime/python_lib/versions/1/google/appengine/
> api/apiproxy_stub_map.py", line 592, in get_result
>    return self.__get_result_hook(self)
>  File "/base/python_runtime/python_lib/versions/1/google/appengine/
> api/urlfetch.py", line 355, in _get_fetch_result
>    rpc.check_success()
>  File "/base/python_runtime/python_lib/versions/1/google/appengine/
> api/apiproxy_stub_map.py", line 558, in check_success
>    self.__rpc.CheckSuccess()
>  File "/base/python_runtime/python_lib/versions/1/google/appengine/
> api/apiproxy_rpc.py", line 156, in _WaitImpl
>    self.request, self.response)
>  File "/base/python_runtime/python_lib/versions/1/google/appengine/
> ext/remote_api/remote_api_stub.py", line 177, in MakeSyncCall
>    self._MakeRealSyncCall(service, call, request, response)
>  File "/base/python_runtime/python_lib/versions/1/google/appengine/
> ext/remote_api/remote_api_stub.py", line 189, in _MakeRealSyncCall
>    encoded_response = self._server.Send(self._path, encoded_request)
>  File "/base/data/home/apps/s~backuppython/3.356320928819354525/
> google/appengine/tools/appengine_rpc.py", line 375, in Send
>    f = self.opener.open(req)
>  File "/base/data/home/apps/s~backuppython/3.356320928819354525/
> google/appengine/tools/urllib2.py", line 391, in open
>    response = self._open(req, data)
>  File "/base/data/home/apps/s~backuppython/3.356320928819354525/
> google/appengine/tools/urllib2.py", line 409, in _open
>    '_open', req)
>  File "/base/data/home/apps/s~backuppython/3.356320928819354525/
> google/appengine/tools/urllib2.py", line 369, in _call_chain
>    result = func(*args)
>  File "/base/data/home/apps/s~backuppython/3.356320928819354525/
> google/appengine/tools/urllib2.py", line 1173, in http_open
>    return self.do_open(httplib.HTTPConnection, req)
>  File "/base/data/home/apps/s~backuppython/3.356320928819354525/
> google/appengine/tools/urllib2.py", line 1146, in do_open
>    r = h.getresponse()
>  File "/base/python_runtime/python_dist/lib/python2.5/httplib.py",
> line 204, in getresponse
>    deadline=self.timeout)
>  File "/base/python_runtime/python_lib/versions/1/google/appengine/
> api/urlfetch.py", line 263, in fetch
>    return rpc.get_result()
>  File "/base/python_runtime/python_lib/versions/1/google/appengine/
> api/apiproxy_stub_map.py", line 592, in get_result
>    return self.__get_result_hook(self)
>  File "/base/python_runtime/python_lib/versions/1/google/appengine/
> api/urlfetch.py", line 355, in _get_fetch_result
>    rpc.check_success()
>  File "/base/python_runtime/python_lib/versions/1/google/appengine/
> api/apiproxy_stub_map.py", line 558, in check_success
>    self.__rpc.CheckSuccess()
>  File "/base/python_runtime/python_lib/versions/1/google/appengine/
> api/apiproxy_rpc.py", line 156, in _WaitImpl
>    self.request, self.response)
>  File "/base/python_runtime/python_lib/versions/1/google/appengine/
> ext/remote_api/remote_api_stub.py", line 177, in MakeSyncCall
>    self._MakeRealSyncCall(service, call, request, response)
>  File "/base/python_runtime/python_lib/versions/1/google/appengine/
> ext/remote_api/remote_api_stub.py", line 189, in _MakeRealSyncCall
>    encoded_response = self._server.Send(self._path, encoded_request)
>  File "/base/data/home/apps/s~backuppython/3.356320928819354525/
> google/appengine/tools/appengine_rpc.py", line 375, in Send
>    f = self.opener.open(req)
>  File "/base/data/home/apps/s~backuppython/3.356320928819354525/
> google/appengine/tools/urllib2.py", line 391, in open
>    response = self._open(req, data)
>  File "/base/data/home/apps/s~backuppython/3.356320928819354525/
> google/appengine/tools/urllib2.py", line 409, in _open
>    '_open', req)
>  File "/base/data/home/apps/s~backuppython/3.356320928819354525/
> google/appengine/tools/urllib2.py", line 369, in _call_chain
>    result = func(*args)
>  File "/base/data/home/apps/s~backuppython/3.356320928819354525/
> google/appengine/tools/urllib2.py", line 1173, in http_open
>    return self.do_open(httplib.HTTPConnection, req)
>  File "/base/data/home/apps/s~backuppython/3.356320928819354525/
> google/appengine/tools/urllib2.py", line 1146, in do_open
>    r = h.getresponse()
>  File "/base/python_runtime/python_dist/lib/python2.5/httplib.py",
> line 204, in getresponse
>    deadline=self.timeout)
>  File "/base/python_runtime/python_lib/versions/1/google/appengine/
> api/urlfetch.py", line 263, in fetch
>    return rpc.get_result()
>  File "/base/python_runtime/python_lib/versions/1/google/appengine/
> api/apiproxy_stub_map.py", line 592, in get_result
>    return self.__get_result_hook(self)
>  File "/base/python_runtime/python_lib/versions/1/google/appengine/
> api/urlfetch.py", line 355, in _get_fetch_result
>    rpc.check_success()
>  File "/base/python_runtime/python_lib/versions/1/google/appengine/
> api/apiproxy_stub_map.py", line 558, in check_success
>    self.__rpc.CheckSuccess()
>  File "/base/python_runtime/python_lib/versions/1/google/appengine/
> api/apiproxy_rpc.py", line 156, in _WaitImpl
>    self.request, self.response)
>  File "/base/python_runtime/python_lib/versions/1/google/appengine/
> ext/remote_api/remote_api_stub.py", line 177, in MakeSyncCall
>    self._MakeRealSyncCall(service, call, request, response)
>  File "/base/python_runtime/python_lib/versions/1/google/appengine/
> ext/remote_api/remote_api_stub.py", line 189, in _MakeRealSyncCall
>    encoded_response = self._server.Send(self._path, encoded_request)
>  File "/base/data/home/apps/s~backuppython/3.356320928819354525/
> google/appengine/tools/appengine_rpc.py", line 375, in Send
>    f = self.opener.open(req)
>  File "/base/data/home/apps/s~backuppython/3.356320928819354525/
> google/appengine/tools/urllib2.py", line 391, in open
>    response = self._open(req, data)
>  File "/base/data/home/apps/s~backuppython/3.356320928819354525/
> google/appengine/tools/urllib2.py", line 409, in _open
>    '_open', req)
>  File "/base/data/home/apps/s~backuppython/3.356320928819354525/
> google/appengine/tools/urllib2.py", line 369, in _call_chain
>    result = func(*args)
>  File "/base/data/home/apps/s~backuppython/3.356320928819354525/
> google/appengine/tools/urllib2.py", line 1173, in http_open
>    return self.do_open(httplib.HTTPConnection, req)
>  File "/base/data/home/apps/s~backuppython/3.356320928819354525/
> google/appengine/tools/urllib2.py", line 1146, in do_open
>    r = h.getresponse()
>  File "/base/python_runtime/py...(length 135612)
>
> --
> 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.
>

-- 
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.

Reply via email to