[google-appengine] Re: i can't deploy app engine SDK on powerpc Mac
Can you tell us a bit more? What happens when you deploy it? On Mon, Nov 24, 2008 at 2:55 AM, Cheka.Aisya [EMAIL PROTECTED] wrote: i can't deploy app engine on powerpc Mac. is it support? -- I never look back darling, it distracts from the now, Edna Mode (The Incredibles) --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com 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 -~--~~~~--~~--~--~---
[google-appengine] Re: looking for a project
Hi, On Nov 23, 1:26 pm, JP [EMAIL PROTECTED] wrote: I want to contribute in a GAE open source project, is anybody looking for a partner? What kind of project? I think it's best to contribute to a project that you use yourself and not just contribute for the sake of it because then take more care when writing code. Do you use app-engine-patch? Would you like to help get more parts of Django seamlessly supported on App Engine? You could help app-engine- patch: http://code.google.com/p/app-engine-patch/ For example, we'd like to support user groups/perms, comments, and the admin interface. All these features require a nice monkey-patch for the contenttypes app, so we have an API-compatible alternative (well, as much as that is possible and sensible). You can read here about the patching techniques we have (it refers to the most recent source in the repo): http://code.google.com/p/app-engine-patch/wiki/Contributing If you're interested please join our Google Group, so we can discuss the implementation details: http://groups.google.com/group/app-engine-patch Bye, Waldemar Kornewald --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com 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 -~--~~~~--~~--~--~---
[google-appengine] Re: deploying applicaiton to multiple customers
It would be good to be able to support multiple app instances in a way that provides an easy upgrade path - e.g. allow multiple app-id's in app.yaml? Maybe thats got other problems associated with it, but it is a common scenario when delivering SaaS that customers expect their data to be partitioned away from other customers, and while in some scenarios it might be god to be able to have each customer on a different version of the application, it is more likely that we upgrade all customers at once, and this is transparent to them - i.e. one of the benefits of SaaS is you are always on the latest version of the software. It would be possible t write an external script that managed this deployment, but it would be good if GAE understood that this was a common requirement and supported it. This issue http://code.google.com/p/googleappengine/issues/detail?id=733 also highlights that we need a little more flexibility when deploying customer apps - making the app-id unique obviously necessary - but that shouldn't need to be exposed in the URL on custom domains. On Nov 23, 12:58 pm, Roberto Saccon [EMAIL PROTECTED] wrote: My understanding of the current situation is as follows: - You either deploy one app for all domains (then you need to implement the billing and quota stuff per domain on your own, that of course doesn't make sense now with the preview quota limitations) or - You deploy for each customer you app with a different app-id (that will be a maintenance nightmare if you have many customers) regards Roberto On Nov 23, 7:00 am, gops [EMAIL PROTECTED] wrote: Hi , I want to create an enterprise grade to do list -- and sell it to some customer. Is it possible , to deploy an application on different domain -- the deployed application will use different database for each domain. and manage it through single dashboard ? If not possible right now , will it be in near future , say march ? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com 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 -~--~~~~--~~--~--~---
[google-appengine] Re: my website stopped working suddenly
I agree, register.com's DNS servers are not playing ball. $ dig www.denizlispor.com ; DiG 9.3.4-P1 www.denizlispor.com ;; global options: printcmd ;; Got answer: ;; -HEADER- opcode: QUERY, status: SERVFAIL, id: 61465 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0 but if you dig deeper you will see what they have wrong... $dig www.denizlispor.com @dns185.b.register.com ; DiG 9.3.4-P1 www.denizlispor.com @dns185.b.register.com ; (1 server found) ;; global options: printcmd ;; Got answer: ;; -HEADER- opcode: QUERY, status: SERVFAIL, id: 484 ;; flags: qr aa rd; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;www.denizlispor.com. IN A ;; ANSWER SECTION: www.denizlispor.com.3600IN CNAME ghs.google.com. ghs.google.com. 14400 IN CNAME ghs.google.com. ;; Query time: 151 msec ;; SERVER: 216.21.232.185#53(216.21.232.185) ;; WHEN: Mon Nov 24 13:44:18 2008 ;; MSG SIZE rcvd: 76 ... that 'looping' CNAME is never going to work. I suggest you ask register.com to sort out their server, it should be something like: $ dig ghs.google.com @ns.google.com ; DiG 9.3.4-P1 ghs.google.com @ns.google.com ; (1 server found) ;; global options: printcmd ;; Got answer: ;; -HEADER- opcode: QUERY, status: NOERROR, id: 54269 ;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 7, ADDITIONAL: 7 ;; QUESTION SECTION: ;ghs.google.com.IN A ;; ANSWER SECTION: ghs.google.com. 604800 IN CNAME ghs.l.google.com. 2008/11/24 Efe [EMAIL PROTECTED]: hi thanks for replying, your name suggest sen Turk'sun? the Register.com says nothing wrong on their side i'm now puzzled with all this.. On Nov 24, 9:56 am, Berk D. Demir [EMAIL PROTECTED] wrote: Hi, Your problem is with DNS but not related with Google App Engine. Contact register.com $ host -t ns denizlispor.com denizlispor.com name server dns185.b.register.com. denizlispor.com name server dns190.a.register.com. denizlispor.com name server dns228.c.register.com. denizlispor.com name server dns249.d.register.com. $ dig +qrwww.denizlispor.com ; DiG 9.4.2-P2 +qrwww.denizlispor.com ;; global options: printcmd ;; Sending: ;; -HEADER- opcode: QUERY, status: NOERROR, id: 15694 ;; flags: rd; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;www.denizlispor.com. IN A ;; connection timed out; no servers could be reached On Nov 24, 3:23 am, Efe [EMAIL PROTECTED] wrote: Hi, my website (http://www.denizlispor.com/) stopped working suddenly.. its pointing to ghs.google.com the app itself over at denizlispordotcom.appspot.com is working fine. -- Barry - www.nearby.org.uk - www.geograph.org.uk - --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com 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 -~--~~~~--~~--~--~---
[google-appengine] Re: aecmd error
On Fri, Nov 21, 2008 at 10:24 PM, GAEfan [EMAIL PROTECTED] wrote: I recently put all my admin pages within the admin protection. Now, I periodically get this error: /Users/myname/GoogleApps/myapp/main.py in () 5 sys.path = [os.path.abspath(os.path.dirname(__file__)),] + sys.path 6 7 from aecmd import setup_project 8 setup_project() 9 aecmd undefined, setup_project undefined type 'exceptions.ImportError': No module named aecmd A Google search turns up nothing. Please help. Thank you. Are you trying app-engine-patch? I find aecmd.py in the app-engine-patch project. Maybe you could try the sample project. http://app-engine-patch.googlecode.com/files/appenginepatch-sample-0.9.2.zip -- Best Regards, TANG Jiyu (Blog: http://jiyu.wordpress.com.cn) --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com 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 -~--~~~~--~~--~--~---
[google-appengine] Re: failed to connect to localhost
On Fri, Nov 21, 2008 at 9:37 PM, Brian [EMAIL PROTECTED] wrote: Helloworld.py contents: print 'Content-Type: text/plain' print '' print 'Hello, world!' Hi Brian, Are you sure your helloworl.py is correct? Check the appengine installation folder (C:\Program Files\Google\google_appengine). There is a folder naming new_project_template. Just open your command line window and change folder to C:\Program Files\Google\google_appengine\new_project_template. Then execute dev_appserver.py .. At last, access http://localhost:8080/ with firefox/IE or whatever. You will get your helloworld. -- Best Regards, TANG Jiyu (Blog: http://jiyu.wordpress.com.cn) --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com 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 -~--~~~~--~~--~--~---
[google-appengine] Best way to implement an app which collects info from the net?
Say I want to create an app which collects data from various data sources and presents it for the user (e.g. aggregating data from RSS and provide some browse/search interface for it). Is it feasible to implement it on AppEngine only? I understand the download interface provided by appengine is not really suitable for this (download errors, quota problems). Is there a known way to overcome these problems? Or the only way to implement such an app is to do the data collection externally and uploading the data periodically to AppEngine? Which do you recommend? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com 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 -~--~~~~--~~--~--~---
[google-appengine] Running asynchronous scripts
Can Python scripts on GAE only be run in response to a URL request? Is it possible to get them to run at a particular time of day, e.g.? Involute --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com 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 -~--~~~~--~~--~--~---
[google-appengine] Re: Running asynchronous scripts
Hi Involute, this topic came up here quite a few times already. I'd suggest you do a search on the Google Groups page: http://groups.google.com/group/google-appengine Searching for cron yields a lot of interesting results. You should also have a look at this issue: http://code.google.com/p/googleappengine/issues/detail?id=6 In the comments there are a few workarounds. This kind of functionality is not officially supported by Appengine at the moment, because each process has to be finished after a few seconds. Best Regards, Jesaja Everling On Mon, Nov 24, 2008 at 5:56 PM, Involute [EMAIL PROTECTED] wrote: Can Python scripts on GAE only be run in response to a URL request? Is it possible to get them to run at a particular time of day, e.g.? Involute -- o L_/ OL This is Schäuble. Copy Schäuble into your signature to help him on his way to Überwachungsstaat. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com 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 -~--~~~~--~~--~--~---
[google-appengine] Re: Using ';' in urls
That semicolon is a reserved character in RFC 3986 doesn't mean using URLs with a semicolon should fail. It's still a valid character to use - reserved just means that ';' has a suggested purpose as a delimiter in path segments, and should be URL-escaped if intended as actual content. For example: http://www.w3.org/DesignIssues/MatrixURIs.html On Nov 14, 3:52 pm, Wooble [EMAIL PROTECTED] wrote: ; is a reserved character in URIs; see RFC 3986. This has been brought up before; it's been suggested the dev server should be modified to fail in the same way as the live server. On Nov 14, 6:12 am, Moritz Angermann [EMAIL PROTECTED] wrote: Hi, Today I figured out that I could not deploy my app on GAE after it had worked perfectly on the dev-server. The reason was: I used ';' in my URLs. Below a slightly anonymized output from telnet for some reason I'm getting refered to /foo/ when I try to access /foo;bar/ === $ telnet app.appspot.com 80 Trying xxx.xxx.xxx.xxx... Connected to appspot.l.google.com. Escape character is '^]'. GET /foo;bar/ HTTP/1.1 Host: app.appspot.com HTTP/1.1 301 Moved Permanently Content-Type: text/html; charset=UTF-8 Location:http://app.appspot.com/foo/ Date: Fri, 14 Nov 2008 11:03:44 GMT Expires: Sun, 14 Dec 2008 11:03:43 GMT Cache-Control: public, max-age=2592000 Server: Google Frontend Content-Length: 231 HTMLHEADmeta http-equiv=content-type content=text/ html;charset=utf-8 TITLE301 Moved/TITLE/HEADBODY H1301 Moved/H1 The document has moved A HREF=http://app.appspot.com/foo/;here/A. /BODY/HTML Connection closed by foreign host. === kindest regards, Moritz Angermann --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com 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 -~--~~~~--~~--~--~---
[google-appengine] Re: Python Twitter API Wrapper problem w/ urlfetch
On Nov 23, 1:31 pm, Amir Michail [EMAIL PROTECTED] wrote: On Nov 22, 5:35 pm, Amir Michail [EMAIL PROTECTED] wrote: Hi, I'm stuck on the authorization part: The bug here is sending the headers in the payload... Amir Update: both the local and deployed versions result in an authentication failure. Any hints on how I could debug this? Amir if self._username and self._password: self._AddAuthorizationHeader(self._username, self._password) print self._request_headers = +`self._request_headers` requestBody = urllib.urlencode(self._request_headers) url_data = urlfetch.fetch(url, method=urlfetch.POST, headers={'Content-type': 'application/x-www-form- urlencoded', 'Content-Length': str(len(requestBody))}, payload=requestBody).content This gives the following exception when a username and password are supplied: ...\src\twitter.py in NewFromJsonDict(data=u'request') 547 else: 548 status = None 549 return User(id=data.get('id', None), 550 name=data.get('name', None), 551 screen_name=data.get('screen_name', None), global User = class 'twitter.User', builtin id = built-in function id, data = u'request', data.get undefined, builtin None = None, name undefined, screen_name undefined, location undefined, description undefined, profile_image_url undefined, url undefined, status = None type 'exceptions.AttributeError': 'unicode' object has no attribute 'get' Any ideas how to get this to work? Amir --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com 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 -~--~~~~--~~--~--~---
[google-appengine] urlfetch DeadlineExceededError
Hi, I am trying to fetch a wepage from my application, but it often results in a DeadlineExceededError. The reason for that is most likely that a lot of redirects happen in the background (unfortunately the webpage is such, and I cannot do anything about that). I was wondering about how to circumvent that. I could disable handling the redirects and read all replies and handle the redirects myself. However, the webpage sets several cookies, but I could not find a way to pass several cookies to urlfetch. Is there a way? Or can you recommend some other approach to tackle this problem? Thanks. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com 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 -~--~~~~--~~--~--~---
[google-appengine] Re: switch users based on current google account
Good question. I'm not sure. Please let us know if you figure this out. On Nov 23, 2:18 pm, apalankat [EMAIL PROTECTED] wrote: Hi, I'm trying to develop a gmail gadget using app engine, and I'd like the gadget to get always the current gmail user. The problem is, once a user logs into the gadget using the google account, then the session keeps open, and if I log into gmail using another account the gadget keeps showing the previous user. I'd like the gadget to switch the user correctly between various accounts, just like the Docs or Calendar gadgets. Is it possible? Thanks! --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com 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 -~--~~~~--~~--~--~---
[google-appengine] Re: binding of parameters to GQL query: varargs + dictionary
Have you seen GqlQuery.bind() ? http://code.google.com/appengine/docs/datastore/gqlqueryclass.html#GqlQuery_bind -Mahmoud On Nov 23, 4:47 pm, GAERiddler [EMAIL PROTECTED] wrote: Hello, So I am not a Python programmer, though I am currently trying to pick it up. My question is whether there is a way I can stash all my named arguments in a dictionary and then pass that off to the GQL query somehow? What I am trying to do is dynamically generate my GQL queries based on how my user fills-out a form. so here's the constructor I am calling: class GqlQuery(query_string, *args, **kwds) Instead of passing a bunch of arguments in here, is there a way to pass or finesse a dictionary object into those arguments? Being new to Python I was hoping to find a bind() method that accepted a dictionary as a parameter and took care of this for me. Here's some contrived sample code to illustrate my question: filters = {} whereSection = WHERE if (name != None): if (len(filters) 0): whereSection += AND whereSection += name = :name filters['name'] = name if (busRoute != None): if (len(filters) 0): whereSection += AND whereSection += routeNumber = :routeNumber filters['routeNumber'] = busRoute.number if (len(filters) 0): busesDriven = BusTraffic.gql(whereSection + ORDER BY yearBuilt, filters) Since that does not work as written, is there a way to get filters into a format the **kwds varargs param in the prototype above expects? Seems like there ought to be, if only I had enough of a handle on Python. If not, would it be a useful constructor for the AppEngine folks to implement?: class GqlQuery(query_string, args_dictionary) My interim solution is to just have a GQL statement for each number of bind arguments, which is hacky, but will work for now. Thanks! --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com 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 -~--~~~~--~~--~--~---
[google-appengine] Re: mcycles calculation has changed ?
Hi Sylvain, What kind of requests are done in this handler? Thanks, Marzia On Mon, Nov 24, 2008 at 8:54 AM, Sylvain [EMAIL PROTECTED] wrote: Hi, I didn't upload a new version since 1 month and now the mcycle/request is lower than before. The main request is requested about 10 000 / day. Before, this request score was from 1200 to 1800 mcycle and now mcycle are lower than 1100. Another thing, all the scores are very similaire from 1030 to 1060. Before the gap could be very big. I'm happy ;) but what happened ? Regards --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com 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 -~--~~~~--~~--~--~---
[google-appengine] Re: Is setting Content-Encoding possible?
Hi Jago, Currently, Google App Engine doesn't allow various headers to be set: ACCEPT_ENCODING, Outbound request headers: CONTENT_LENGTH, DATE, HOST, REFERER, USER_AGENT, VARY, VIA, X_FORWARDED_FOR Response headers: CONTENT_ENCODING, CONTENT_LENGTH, DATE, SERVER, TRANSFER_ENCODING Feel free to star this issue if you would like Google App Engine to support setting of these headers: http://code.google.com/p/googleappengine/issues/detail?id=342 -Marzia On Sat, Nov 22, 2008 at 5:57 PM, jago [EMAIL PROTECTED] wrote: Hi, I can set Mime-Type in app.yaml. I know the response object also allows Content-Type, but no Content-Encoding which is vital for my kind of application. Is there no possibility to set this? Perhaps wiping headers clean and directly use self.response.out.write(...) to write something that is recognized by clients as a header? Will Google ever support setting content-encoding? For me this ia a show-stopper with Google appengine. Cheers, jago --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com 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 -~--~~~~--~~--~--~---
[google-appengine] Re: Version number looks weird after my recent upload.
Hi, The string is not actually a timestamp, but rather it is timestamped based, and also includes some random data. -Marzia On Sun, Nov 23, 2008 at 8:47 AM, Joe Blau [EMAIL PROTECTED] wrote: What format is the timestamp in? Joe On Nov 13, 1:24 pm, Marzia Niccolai [EMAIL PROTECTED] wrote: Hi, The version numbers have been switched so that they are timestamped based, indicating the time that the version was uploaded. -Marzia On Wed, Nov 12, 2008 at 6:28 PM, CNBorn [EMAIL PROTECTED] wrote: Hi All, I am running a Todolist app on AppEngine(Currently in zh_CN), [http://checknerds.appspot.com]. But after a recent upload, I found the version number lookss weird. Now the version number hsould be 1.89, but I get 1.329236891998284311 instead. Is there something wrong with this? Does anybody else encountering the same problem? P.S, It seems that the other stuff are running well. BR, CNBorn --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com 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 -~--~~~~--~~--~--~---
[google-appengine] Re: Data Source Python Library (gviz api)
Hi herbie, From looking at the source code for the Google visualization Python API, it appears to be pure Python. http://code.google.com/p/google-visualization-python/source/browse/trunk/gviz_api.py If that is the case, then it should be pretty easy to use it. Add this gviz_api.py file to your app's source code directory, and import it normally (as you would any other third party Python module in App Engine): http://code.google.com/appengine/kb/commontasks.html#thirdparty Happy coding, Jeff On Nov 21, 5:56 am, herbie [EMAIL PROTECTED] wrote: I would like to use Google Visualization charts etc in my GAE web app. Can I use the Google Data Source Python Library within GAE? Is it pure Python? Is the process of adding it to my GAE app straight forward (I'm new to this stuff!) Thanks --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com 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 -~--~~~~--~~--~--~---
[google-appengine] Re: Can i use google app engines ssl with level 2 integration?
Hi Aral, With App Engine, authentication is based on subdomain, not on app id. So if you have to redirect a user to a different domain (such as www.myapp.com to myapp.appspot.com), they will need to sign in again. -Marzia On Sun, Nov 23, 2008 at 5:17 AM, Aral Balkan [EMAIL PROTECTED] wrote: Hi Marzia, I've got a question about this: On my app, I know that I was losing the session when I had PayPal return to www.myapp.com when the user had originally signed in from myapp.com (naked domain). I've since fixed that issue when by forwarding everything to www. in my front controller. However, how will the user's session be affected if they sign in from www.myapp.com and then return to myapp.appspot.com? Does this mean that the user will have to sign in twice? Thanks, Aral On Nov 18, 9:44 pm, Marzia Niccolai [EMAIL PROTECTED] wrote: Hi, I'm guessing you mean 'level 2' integration with Google Checkout. And yes, this is possible, simply enter the appspot URL where you have written your secure callback handler in to your Google Checkout merchant account settings. -Marzia On Tue, Nov 18, 2008 at 1:42 PM, Barry Hunter [EMAIL PROTECTED]wrote: level 2 integration of what? On Tue, Nov 18, 2008 at 8:28 PM, Will F. [EMAIL PROTECTED] wrote: Can i use google app engines ssl with level 2 integration? -- Barry -www.nearby.org.uk-www.geograph.org.uk- --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com 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 -~--~~~~--~~--~--~---
[google-appengine] Re: Python Twitter API Wrapper problem w/ urlfetch
Hi Amir, You seem to be sending the authorization in the body of request, not in the headers. Including the basic auth in the headers of the URLFetch call should work. -Marzia On Mon, Nov 24, 2008 at 9:47 AM, Amir Michail [EMAIL PROTECTED] wrote: On Nov 23, 1:31 pm, Amir Michail [EMAIL PROTECTED] wrote: On Nov 22, 5:35 pm, Amir Michail [EMAIL PROTECTED] wrote: Hi, I'm stuck on the authorization part: The bug here is sending the headers in the payload... Amir Update: both the local and deployed versions result in an authentication failure. Any hints on how I could debug this? Amir if self._username and self._password: self._AddAuthorizationHeader(self._username, self._password) print self._request_headers = +`self._request_headers` requestBody = urllib.urlencode(self._request_headers) url_data = urlfetch.fetch(url, method=urlfetch.POST, headers={'Content-type': 'application/x-www-form- urlencoded', 'Content-Length': str(len(requestBody))}, payload=requestBody).content This gives the following exception when a username and password are supplied: ...\src\twitter.py in NewFromJsonDict(data=u'request') 547 else: 548 status = None 549 return User(id=data.get('id', None), 550 name=data.get('name', None), 551 screen_name=data.get('screen_name', None), global User = class 'twitter.User', builtin id = built-in function id, data = u'request', data.get undefined, builtin None = None, name undefined, screen_name undefined, location undefined, description undefined, profile_image_url undefined, url undefined, status = None type 'exceptions.AttributeError': 'unicode' object has no attribute 'get' Any ideas how to get this to work? Amir --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com 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 -~--~~~~--~~--~--~---
[google-appengine] Re: Inspired by Gmail looks
Hi pran, For legal questions, you should consult a lawyer :-) Happy coding, Jeff On Nov 21, 1:01 pm, pran__ [EMAIL PROTECTED] wrote: Hello GAE Team, One of the web applications that has always managed to keep my attention is Gmail. I am in love with it. I am designing my application with the look inspired from gMail. It is not a complete copy, however, anyone looking at my app, can say Oo. i have sen this kind of layout, i think it is from gmail. My question is, am i legally entitled to do this? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com 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 -~--~~~~--~~--~--~---
[google-appengine] Re: Content-Encoding?
Not at present - Marzia responded with a list of headers that cannot be changed in a previous question along the same lines: http://groups.google.com/group/google-appengine/browse_thread/thread/69232c3e1934173e Currently all incoming requests go through our serving infrastructure - we don't allow apps to open raw server sockets, which is what you'd need to implement your own HTTP server. Daniel On Nov 23, 2:03 pm, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: Hallo, Setting the Content-Encoding using the Response object or app.yaml is impossible. Is there now workaround, like setting up a miniature http- server in pure python inside the appengine that does what we want? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com 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 -~--~~~~--~~--~--~---
[google-appengine] utf-8 not used even though it is specified in Content-Type
Hi, I'm using webapp with the following: self.response.headers['Content-Type'] = 'text/html; charset=utf-8' But it's using cp1252 instead: c:\python25\lib\encodings\cp1252.py in decode (self=encodings.cp1252.Codec instance at 0x00D37BC0, input=read- only buffer ptr 0x02050534, size 40 at 0x023C44C0, errors='strict') 13 14 def decode(self,input,errors='strict'): 15 return codecs.charmap_decode (input,errors,decoding_table) 16 What am I doing wrong? Amir --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com 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 -~--~~~~--~~--~--~---
[google-appengine] Re: Surprisingly consistent timeouts on a simple query
I spent the weekend trying various tweaks to attempt to reduce the number of timeouts on this query but with no success. Since the problem seems to come and go in waves, I'm beginning to think it's more related to load other issues on the server (not particularly related to the load on my app). Unfortunately, when 50% or more of these simple queries timeout after waiting for several seconds, my app becomes very unresponsive. Has anyone had any success taming these timeout errors or is this an acknowledged problem that might be worked out later in the beta period? If there isn't much hope for a resolution, I'm not sure I can figure out a workable solution for our app on App Engine. I'd love to provide additional information or tests if they would be useful. Thanks again for the help- -Rob --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com 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 -~--~~~~--~~--~--~---
[google-appengine] Re: 1.1.6 urlfetch with largish payload fails with ApplicationError: 2 (35, 'Resource temporarily unavailable')
Hi Gijsbert, I'm not able to replicate this on my Mac, but I'm using Python 2.5.1 (Python 2.5 (r25:51918, Sep 19 2006, 08:49:13) [GCC 4.0.1 (Apple Computer, Inc. build 5341)] on darwin). Using a 60KB payload goes through fine for me on 1.1.7 without modifying urlfetch at all. Perhaps if someone else is experiencing this issue as well, they can jump in with their OS and Python distribution? Thanks, Marzia On Fri, Nov 21, 2008 at 10:27 PM, Gijsbert [EMAIL PROTECTED]wrote: Hi Marzia, The code is nothing special, it boils down to this: urlfetch.fetch(amazonurl, payload=jpegfile, urlfetch.PUT, headers=amazonheaders, allow_truncated=false) (I'm using s3fetch() from this thread: http://groups.google.com/group/google-appengine/browse_thread/thread/83bae2a7f93a476b ). Changing the timeout makes no difference (tried 50s), the ApplicationError happens in less than 100ms after the fetch() setup. Only setting _API_CALL_DEADLINE to None (no timeout, blocking socket) helps. It really seems that something in urlfetch_stub/httplib does not like non-blocking operations. Maybe it is only on MacOS or python2.5 (Python 2.5.2 (r252:60911, Jul 22 2008, 00:43:13) [GCC 4.0.1 (Apple Inc. build 5478)] on darwin). I don't have access to another machine/os at the moment. This same code on appspot.com works fine. Regards, Gijsbert On Nov 21, 7:07 pm, Marzia Niccolai [EMAIL PROTECTED] wrote: Hi, Would it be possible for you to provide the code you are using that fails with this error? Does increasing the time out allow the request to go through? -Marzia On Fri, Nov 21, 2008 at 1:13 PM, Gijsbert [EMAIL PROTECTED] wrote: Hi, Since upgrading to 1.1.6 I get ApplicationError: 2 (35, 'Resource temporarily unavailable') on doing urlfetch operations with 'larger' payloads (in my case a PUT to Amazon S3) on my dev server. Larger is 68KB in this case, so not really large and should be able to be delivered within the 5 seconds deadline. The (35, 'Resource...') seems to be unix error (EAGAIN or EWOULDBLOCK). I have not dug very deep, but I would hazard a guess that this might be caused with the urlfetch call deadline simulation, with the following code: urlfetch_stub.py:199: socket.setdefaulttimeout(_API_CALL_DEADLINE) When I comment out this line the urlfetch() completes without errors in about 1.5 seconds. Seems some piece of code is not happy with non-blocking sockets (although I don't quite see where, the stub uses HTTPConnection, which uses socket.sendall(), which should work with non-blocking sockets). This is on MacOSX Intel 10.5.5. Cheers, Gijsbert --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com 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 -~--~~~~--~~--~--~---
[google-appengine] Re: Local datastore import is too slow
You are right Dave. I started working with s small set of data on the local server. I also fragmented my CSV file in a set of 100 records this reduced the memory requirements. My app works fine now. Thanks, Jyoti On Nov 20, 12:58 am, David Symonds [EMAIL PROTECTED] wrote: On Thu, Nov 20, 2008 at 11:35 AM,JyotiShete-Javadekar [EMAIL PROTECTED] wrote: I am trying to load my development datastore using the bulk loader script. However the import is very slow. I had to kill the import process since it was not completed even after 12 hours. I have about 13K rows in the CSV file. One data model entity is about 300 bytes. 10 entities are imported at a time. The model has two unicode attributes, two unicode list attributes , one url and one long attribute. I use unicode.split to populate list attributes. I am running the bulk loader in a virtual machine having 512MB memory. During the import about 91% memory is utilized. I have not specified any custom index in index.yaml. Don't use the dev_appserver for that amount of data. At least in its current state it is not designed for that amount. Do you *absolutely* need to load that amount of data to do local development? Dave. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com 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 -~--~~~~--~~--~--~---
[google-appengine] Re: urlfetch DeadlineExceededError
Hi István, If you know the cookies which need to be sent, you can construct HTTP headers for each of the cookies and call the final URL and cut out the redirects. To send a cookies as a header, you would add them to the headers dictionary with something like this: # A single cookie # Cookie: name=value headers['Cookie'] = '%s=%s' % (name, value) # Multiple cookies, (note, they are all in one header) # Cookie: name1=value1; name2=value2 cookies = {name1: value1, name2: value2} headers['Cookie'] = '; '.join(['%s=%s' % (name, value) for name, value in cookies.iteritems()]) Then include the headers in your urlfetch request (something like this): urlfetch.fetch(final_url, headers=headers) Depending on the content of the name and value, you may need to escape the strings. Happy coding, Jeff On Nov 24, 12:41 am, István [EMAIL PROTECTED] wrote: Hi, I am trying to fetch a wepage from my application, but it often results in a DeadlineExceededError. The reason for that is most likely that a lot of redirects happen in the background (unfortunately the webpage is such, and I cannot do anything about that). I was wondering about how to circumvent that. I could disable handling the redirects and read all replies and handle the redirects myself. However, the webpage sets several cookies, but I could not find a way to pass several cookies to urlfetch. Is there a way? Or can you recommend some other approach to tackle this problem? Thanks. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com 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 -~--~~~~--~~--~--~---
[google-appengine] Re: Best way to implement an app which collects info from the net?
GAE has limits on how long a request can take before it times out, so long running collection processes within a GAE request wouldn't work. Additionally, there is no scheduler service in GAE at this time, so there is no way to periodically go out and collect the data. You would have to do this externally. I did see an app in the Gallery that provides a scheduling service for GAE. You might be able to use that. I would create an external service that does the collection and posts the data to a GAE application API. You could then present the data in the typical way. Barry http://tapingya.appspot.com On Nov 24, 8:19 am, gmalquestion [EMAIL PROTECTED] wrote: Say I want to create an app which collects data from various data sources and presents it for the user (e.g. aggregating data from RSS and provide some browse/search interface for it). Is it feasible to implement it on AppEngine only? I understand the download interface provided by appengine is not really suitable for this (download errors, quota problems). Is there a known way to overcome these problems? Or the only way to implement such an app is to do the data collection externally and uploading the data periodically to AppEngine? Which do you recommend? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com 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 -~--~~~~--~~--~--~---
[google-appengine] Re: How to open .html in .py file?
- url: /static static_dir: static I do the above. Then, any html file I want to display directly I path to static. So, if I had an index.html, the url would be: http://myapp.appspot.com/static/index.html Barry http://tapingya.appspot.com On Nov 22, 10:47 pm, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: I just want to call a html file and display it,but I'don't know how to do! foe example: my test.yaml: application: test*** version: 1 runtime: python api_version: 1 handlers: - url: /.* script: test.py I just want display the index.html in my root,how to write the test.py file? thanks. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com 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 -~--~~~~--~~--~--~---
[google-appengine] Re: Is Memcache really needed?
Correct, independent of the volume of one's app, it's nearly always fruitful to use memcache in order to reduce end-user latency. Jon On Nov 17, 1:36 pm, Anders [EMAIL PROTECTED] wrote: On Nov 17, 6:37 pm, Jon McAlister [EMAIL PROTECTED] wrote: On Nov 16, 10:05 pm, Anders [EMAIL PROTECTED] wrote: And another thing: In a distributed system, must there really be any functional difference between RAM and disk memory? Of course, disk access is magnitudes slower than accessing RAM, but as I see it, at least theoretically, in a distributed system RAM could be made to function as a permanent storage. Think of a single huge distributed virtual memory where data is stored in a duplicated and fail-safe way. Then the disk space would only be used for swapping memory pages to and from faster memory such as RAM (and in the future maybe even other forms of fast memory). Only at the very lowest level (Distributed OS 'kernel' level) would developers need to know if some chunk of memory is physically stored on disk or on some other form of memory. The limitations and design concerns you're talking about here are not unique to App Engine. The tradeoffs between disk and memory, and the tradeoffs between different kinds of cache (e.g. disk buffer cache, L1/ L2, memcache), are core computer science. What's the latency? The throughput? The cache-hit rate? Does the kernel or does the app have a better understanding of the data access patterns? If the operating system was not able to solve these issues and remove them from the mind-set of the developer, then it's unlikely that App Engine will :-P In the case of automatic caching of the datastore, it's the case that the application does have a better opportunity to cache than we could from behind the scenes. The app knows better what is the tradeoff between data staleness and end-user latency. The app knows how to keep the cached data consistent with the true data. If we tried to do these things within the datastore, since it is an API that is perfectly consistent and guarantees that new writes immediately appear in query results, we wouldn't be able to achieve a good cache-hit rate as every datastore write would force us to invalidate every single query-cache for an app. The app can do much better than we can for datastore caching. Jon Hmm... I looked at the dashboard for my application. It shows that a datastore query in a frequently accessed page takes a lot of CPU time. It's a simple query but it must be the query that takes most of the CPU time because the rest of the code for that page is basically only a few print statements. Maybe it could be a good idea to use Memcache for that page. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com 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 -~--~~~~--~~--~--~---
[google-appengine] Re: Creating unique key names
Correct, we don't provide pid or hostname but os.urandom() will yield a secure random seed, and every runtime process is uniquely seeded, so you don't need to worry about any two distinct runtime processes ever generating the same random numbers. If you don't feel like random numbers give you enough of a guarantee for your app, then you should use the datastore. On Nov 23, 3:46 am, yejun [EMAIL PROTECTED] wrote: There's no currently available method to identify process and machine. Your best bet is random id generated during module initialization. On Nov 22, 9:46 pm, Andy Freeman [EMAIL PROTECTED] wrote: os.getpid isn't available Thanks. nor unique across processes. Huh? During the life of a process A on a machine B, no other process on B will have the same process id as A. Two different processes on a given machine may have the same id if their lifetimes are disjoint and two processes on different machines may have the same process id at the same time, but the latter is just why some sort of machine identifier is important. On Nov 22, 5:43 pm, yejun [EMAIL PROTECTED] wrote: UUID should be ok, which use system urandom as seed by default. os.getpid isn't available nor unique across processes. On Nov 22, 8:07 pm, David Symonds [EMAIL PROTECTED] wrote: On Sun, Nov 23, 2008 at 8:50 AM, Andy Freeman [EMAIL PROTECTED] wrote: Suppose that I want to atomically create an entity group with two nodes, one the parent of the other. But *why* exactly do you want to do this? Because I want a set of one or more entities that can be manipulated in a single transaction. Entity group relationships tell App Engine to store several entities in the same part of the distributed network. A transaction sets up datastore operations for an entity group, and all of the operations are applied as a group, or not at all if the transaction fails. Yes, I understand transactions and entity groups. Why do you need to create an entity group *atomically*? The fact that GAE uses many machines and concurrently is why the full hostname, IP, or MAC address or some other machine identifier is useful in creating a unique identifier on GAE. (If my application always ran on the same machine, the process id and time would be sufficient.) If you create a new entity, it will automatically be assigned a unique key at the datastore level. What's wrong with just using that? Dave.- Hide quoted text - - Show quoted text - --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com 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 -~--~~~~--~~--~--~---
[google-appengine] Re: binding of parameters to GQL query: varargs + dictionary
Yes. But that accepts the same varargs as the .gql() method. What I think would be nice to have would be a bind(dictionary), and the dictionary object contains all the keyword-parameter bindings. On Nov 24, 9:50 am, Mahmoud [EMAIL PROTECTED] wrote: Have you seen GqlQuery.bind() ? http://code.google.com/appengine/docs/datastore/gqlqueryclass.html#Gq... -Mahmoud --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com 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 -~--~~~~--~~--~--~---
[google-appengine] unicode problem with django custom tag
Hi, Sometimes I get this error: UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 67: ordinal not in range(128) So I tried this fix mentioned in http://groups.google.com/group/google-appengine/browse_thread/thread/24d04c3db285a3b0: import sys reload(sys) sys.setdefaultencoding('utf-8') This works except that it sometimes results in blank pages. Any workarounds? Amir --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com 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 -~--~~~~--~~--~--~---
[google-appengine] create an image-processing website with GAE?
hey, recently, i search ideas for deploying my image processing application in an online-website way.which means, users do need download my image processing software, just visiting a website, then may submit their own input image and get the resulted one from webserver, i konw GAE python script could handle most things, like allow user to submit images and more, but what am i worry about is the server's CPU usage and images storing, not like just send back a text message stored in GAE datastore, but do some advanced and cpu-costing image processing on the user-submited images(fox exmaple, performance face detecting on an image). so, my question is: is that possible to make a such website with GAE? any frameworks available? or even some exmaples would be better. thanks all. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com 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 -~--~~~~--~~--~--~---
[google-appengine] Nothing but time-outs tonight
Is something slow with Google tonight? My app (which normally takes 5-6 seconds to load) is timing out every time tonight (past 8 seconds). I sure hope GAE lifts that 8 second limit soon. My app depends on it. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com 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 -~--~~~~--~~--~--~---
[google-appengine] what about other language support?
although i love python this programming language,but i dont like to use python as a web dev envir so what about other language support? like php perl lua,etc --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com 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 -~--~~~~--~~--~--~---
[google-appengine] Re: How to open .html in .py file?
i think u need a js based template system On Nov 25, 8:25 am, bvelasquez [EMAIL PROTECTED] wrote: - url: /static static_dir: static I do the above. Then, any html file I want to display directly I path to static. So, if I had an index.html, the url would be: http://myapp.appspot.com/static/index.html Barryhttp://tapingya.appspot.com On Nov 22, 10:47 pm, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: I just want to call a html file and display it,but I'don't know how to do! foe example: my test.yaml: application: test*** version: 1 runtime: python api_version: 1 handlers: - url: /.* script: test.py I just want display the index.html in my root,how to write the test.py file? thanks. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com 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 -~--~~~~--~~--~--~---
[google-appengine] Re: what about other language support?
On Tue, Nov 25, 2008 at 3:15 PM, jyf1987 [EMAIL PROTECTED] wrote: although i love python this programming language,but i dont like to use python as a web dev envir so what about other language support? like php perl lua,etc See the roadmap: http://code.google.com/appengine/docs/roadmap.html Dave. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com 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 -~--~~~~--~~--~--~---