[google-appengine] Re: Shorten keys on URLs
In a Google IO 2009 talk Bret Slatkin told that to get shorter keys you should have short Model Names and keynames. 2009/6/14 david da...@altasoftware.com: Hello everyone, I've been looking for a way to shorten keys on URLs, for example: I learned that an entity key is built from the app id and a path to that entity using base64, so basically all of the keys for my application have the same prefix which I could remove from key strings when putting them in URLs and preppend the common prefix every time I'm going to process one of those. Have anybody done something similar or does anybody have and advice on that matter? Thanks. David --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Installing a tzmplating lib on GAE : Cheetah
Bonjour, I nee to install cheetah (also some other libs, like pySqLite, SqLAlchemy, ...) on GAE, locally for test, and at Google's. I'm not sure if I have to install the libs in my local PYTHON25, and/ or in my local GAE/lib directory. I found the page: http://code.google.com/intl/fr-BE/appengine/docs/python/config/appconfig.html#Script_Handlers but I need some help to clarify. 1. should I create google/appengine/ext/cheetah under my Python's root? 2. What if Cheetah not in the standard list of libs at Google? 3. Where is the ist of libs outOfTheBox at Google 4. Should some .py files be present under my Application folder before I upload to Google? Like C:\Program Files\Google\google_appengine\lib\django C:\Program Files\Google\google_appengine\lib\cheetah Th --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Open Letter to Google App Engine Team: Billing for CPU time is Wrong
Nick, Thanks for your answers. I will follow up with a post including my suggestions and update this thread. ./alex On Jun 16, 5:04 pm, Nick Johnson (Google) nick.john...@google.com wrote: Hi Alex, Thanks for your feedback. Responses inline. On Mon, Jun 15, 2009 at 11:46 PM, Alex Popescu the.mindstorm.mailingl...@gmail.com wrote: While I am appreciating the work and innovation behind the App Engine platform, I believe that billing for CPU time is wrong: - the terms are not well defined [1] I believe the terms are well defined, in our documentation. api-ms is, as expected, the number of milliseconds spent processing API calls, and is purely informative (eg, it's not used separately for billing). If there's something specific you think we could clarify, please let us know. - it is not clear how they are measured What about how CPU is measured would you like clarified? - there have been repeated problems on the platform and these are impacting the CPU analytics You're right - App Engine has experienced issues, and it's something we're actively working on reducing. Any production system will inevitably have occasional problems, but we're dedicated to ensuring App Engine works as smoothly and as reliably as possible. - it includes framework API internal calls CPU usage and this is not under developers' control API calls are only ever made when a developer's code requests them. Admittedly this can sometimes be less obvious than one might expect - for example, resolution of ReferenceProperties - but reading the documentation will reveal exactly when API calls can be expected. - framework API calls are already billable separately We don't bill for API calls, except in terms of the CPU use they entail, with the exception of the Mail API, where we bill per-message. We do place limits on API calls and data volumes to and from our APIs, but these are purely to prevent (deliberate or accidental) abuse and ensure smooth operation for all users. I'm not aware of anyone running into these limits in normal operation. -Nick Johnson The letter can be read here http://themindstorms.blogspot.com/2009/06/open-letter-to-google-app-e... ./alex http://the.dailycloud.net [1] This is just an example http://groups.google.com/group/google-appengine/browse_thread/thread/... -- Nick Johnson, App Engine Developer Programs Engineer Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number: 368047 --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Accessing SimpleDB from App Engine - any latency issues?
Hi All, My application requires certain types of query features that are not currently possible through Datastore API and so I am thinking of moving the query side of things to Anazon's SimpleDB (mainly use it to return keys). For example, I would like to return entities that are within a certain zip code range while supporting pagination. Since key based paging takes the only inequality operator allowed, it is not possible to do the traditional zip based retrieval. Even without paging there is no way to have two inequality operator. Hence the switch to SimpleDB -- let me know if there are any nice workarounds for zip-based data retrieval. I have two questions for App Engine members: 1. Have you noticed any major latency issues in accessing SimpleDB from App Engine (thinking of using Boto module)? If so, any tips on how to reduce it? 2. When I tested SimpleDB from my dev machine, I noticed SimpleDB takes up to 5 seconds to return results -- most of the time is actually spent in authorizing the request. So I would like to initiate the connection once in the app and reuse the object for all subsequent queries. Where should I do this initialization? I am not familiar with how App Engine caches the application. Should I create a amazon_login.py, include the logic for auth (two lines of code) and import the file in my code? or do I need to put it in a class and instantiate the class in the same file? Thanks -e --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] 'SearchableEntity' object has no attribute '_Entity__unindexed_properties'
In my local dev environment I get the following stack trace when I try to create a record: ERROR2009-06-17 07:50:03,769 __init__.py:385] 'SearchableEntity' object has no attribute '_Entity__unindexed_properties' Traceback (most recent call last): File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/webapp/__init__.py, line 503, in __call__ handler.post(*groups) File /Users/admin/Workshop/shell_sink/server/shellsink.py, line 101, in post create_command_tags(sysadmin, command, tags) File /Users/admin/Workshop/shell_sink/server/command_tag.py, line 58, in create_command_tags command.put() File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/db/__init__.py, line 695, in put return datastore.Put(self._entity) File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/api/datastore.py, line 155, in Put req.entity_list().extend([e._ToPb() for e in entities]) File /Users/admin/Workshop/shell_sink/server/command_search.py, line 143, in _ToPb return super(SearchableEntity, self)._ToPb() File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/api/datastore.py, line 513, in _ToPb name in self.__unindexed_properties): AttributeError: 'SearchableEntity' object has no attribute '_Entity__unindexed_properties' Weird thing is that I don't see this in production. I'm not sure when this started happening, but my guess is the change over to 1.22 and I just now started noticing it. My object extends SearchableModel. The stack trace happens when I did a put() on an object that was already in the datastore and hadn't changed. Handling the redundant put was my workaround, but I thought I would mention it here since it seems to be a difference between dev and prod. --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] [ANN] Kay - Another web framework on app engine - beta version
Hi list, I'd like to let you know about my web framework. It is named 'Kay'. Kay is a web framework made specifically for Google App Engine/Python. The basic design of Kay is based on the Django framework, like middleware, settings and pluggable application, etc. Kay uses Werkzeug as lower level framework, Jinja2 as template engine, and babel for handling language translations. This software is distributed under BSD license. See LICENSE for more details. See README for quickstart. It is still beta version and under heavilly development. So I don't recommend you to use this framework for production, but if you're interested, please visit: http://code.google.com/p/kay-framework/ I'll be glad if you let me know what you think. Regards, -- Takashi Matsuo --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: 'SearchableEntity' object has no attribute '_Entity__unindexed_properties'
Hi Josh, Can you please include your source code for the model that extends SearchableModel, or otherwise provide a simple test case that demonstrates the error? -Nick Johnson On Wed, Jun 17, 2009 at 9:18 AM, Josh Cronemeyer joshuacroneme...@gmail.com wrote: In my local dev environment I get the following stack trace when I try to create a record: ERROR2009-06-17 07:50:03,769 __init__.py:385] 'SearchableEntity' object has no attribute '_Entity__unindexed_properties' Traceback (most recent call last): File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/webapp/__init__.py, line 503, in __call__ handler.post(*groups) File /Users/admin/Workshop/shell_sink/server/shellsink.py, line 101, in post create_command_tags(sysadmin, command, tags) File /Users/admin/Workshop/shell_sink/server/command_tag.py, line 58, in create_command_tags command.put() File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/db/__init__.py, line 695, in put return datastore.Put(self._entity) File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/api/datastore.py, line 155, in Put req.entity_list().extend([e._ToPb() for e in entities]) File /Users/admin/Workshop/shell_sink/server/command_search.py, line 143, in _ToPb return super(SearchableEntity, self)._ToPb() File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/api/datastore.py, line 513, in _ToPb name in self.__unindexed_properties): AttributeError: 'SearchableEntity' object has no attribute '_Entity__unindexed_properties' Weird thing is that I don't see this in production. I'm not sure when this started happening, but my guess is the change over to 1.22 and I just now started noticing it. My object extends SearchableModel. The stack trace happens when I did a put() on an object that was already in the datastore and hadn't changed. Handling the redundant put was my workaround, but I thought I would mention it here since it seems to be a difference between dev and prod. -- Nick Johnson, App Engine Developer Programs Engineer Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number: 368047 --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Accessing SimpleDB from App Engine - any latency issues?
Hi ecognium, On Wed, Jun 17, 2009 at 9:17 AM, ecognium ecogn...@gmail.com wrote: Hi All, My application requires certain types of query features that are not currently possible through Datastore API and so I am thinking of moving the query side of things to Anazon's SimpleDB (mainly use it to return keys). For example, I would like to return entities that are within a certain zip code range while supporting pagination. Since key based paging takes the only inequality operator allowed, it is not possible to do the traditional zip based retrieval. Even without paging there is no way to have two inequality operator. Hence the switch to SimpleDB -- let me know if there are any nice workarounds for zip-based data retrieval. You may want to check this out: http://appengine-cookbook.appspot.com/recipe/efficient-paging-for-any-query-and-any-model/ I have two questions for App Engine members: 1. Have you noticed any major latency issues in accessing SimpleDB from App Engine (thinking of using Boto module)? If so, any tips on how to reduce it? I haven't personally used SimpleDB, but the same caveats apply as with any other service accessed over HTTP - latency is dependent on the service and its proximity. 2. When I tested SimpleDB from my dev machine, I noticed SimpleDB takes up to 5 seconds to return results -- most of the time is actually spent in authorizing the request. So I would like to initiate the connection once in the app and reuse the object for all subsequent queries. Where should I do this initialization? I am not familiar with how App Engine caches the application. Should I create a amazon_login.py, include the logic for auth (two lines of code) and import the file in my code? or do I need to put it in a class and instantiate the class in the same file? When you say initiate the connection once, are you referring to an actual TCP connection, or to a 'session'? I presume the latter, since SimpleDB is HTTP based. urlfetch doesn't let you control the lifetime of the underlying TCP connection for HTTP requests. If you're obtaining an authentication token, though, you can certainly do that on the first request to a given runtime, and then cache the result in a global or class-level variable, or cache it in memcache and reuse it across multiple instances. -Nick Johnson --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Installing a tzmplating lib on GAE : Cheetah
Hi pyd, On Wed, Jun 17, 2009 at 9:01 AM, PYD p...@pydelens.be wrote: Bonjour, I nee to install cheetah (also some other libs, like pySqLite, SqLAlchemy, ...) on GAE, locally for test, and at Google's. I'm not sure if I have to install the libs in my local PYTHON25, and/ or in my local GAE/lib directory. It's not possible to use third-party libraries that require extension modules (eg, C modules) on App Engine. It's also not possible to write to the local filesystem in App Engine, so sqlite is out on two counts. You need to use the App Engine datastore instead. I found the page: http://code.google.com/intl/fr-BE/appengine/docs/python/config/appconfig.html#Script_Handlers but I need some help to clarify. 1. should I create google/appengine/ext/cheetah under my Python's root? Yes, but don't put it in google.appengine.ext, that's reserved for modules provided as part of the SDK. 2. What if Cheetah not in the standard list of libs at Google? We only include a minimal list of modules, preferring to let users supply their own. 3. Where is the ist of libs outOfTheBox at Google What's included in the SDK, plus the Python standard library, is it. Also see the runtime docs for the Python runtime for details: http://code.google.com/appengine/docs/python/runtime.html 4. Should some .py files be present under my Application folder before I upload to Google? Like C:\Program Files\Google\google_appengine\lib\django C:\Program Files\Google\google_appengine\lib\cheetah Yes, they need to be in subdirectories of your application in order to be included. -Nick Johnson Th -- Nick Johnson, App Engine Developer Programs Engineer Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number: 368047 --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Appengine timeout..?
Hi Astrid, On Wed, Jun 17, 2009 at 6:20 AM, astrid.thuec...@googlemail.com astrid.thuec...@googlemail.com wrote: In general - how much data can I send in an request to the appengine and be sure it won't time out? Is the amount different between a GET and POST request? Requests are limited to 10MB, and the counter on your request doesn't start until the entire request has been received. Another thing is, that I would like to create an iframe and send some data in the src-URL string: iframe src=http://myappspot.appspot.com?somdata=abcdefg; ... I fear that in special cases there might be many iframes of this type on a users site and the src-String could be really really long. Does this mean it would time out? The most data you can reliably transfer in a URL is on the order of about 1k (different browsers have different URL-length limits), which is so small it will take an insignificant amount of time to transmit. Does it make a difference if there are many iframes on a single page, since a users connection will try to load all at once, connection speed is split by the number iframes. isn't it? Does this increase the danger of running into timeouts? Browsers will request at most two resources from the same site simultaneously, regardless of how many there are to fetch in total. -Nick Johnson --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: remote_api -ImportError: No module named models
Hi johnfromCalgary, Try running set PYTHONPATH=. in your shell window before running the import script. -Nick Johnson On Wed, Jun 17, 2009 at 1:30 AM, johnfromCalgary jdpo...@gmail.com wrote: It seems like variations of this question has been asked a few times, but I can't get tell which of the answers are out of date, in any case, none of the solutions work. I've followed this verbatim:http://code.google.com/appengine/docs/ python/tools/uploadingdata.htmlhttp://code.google.com/appengine/docs/%0Apython/tools/uploadingdata.html and get the error: ImportError: No module named models Let many java users, I'm only using this to get data into the data store; I've spent more time on this than everything else combined... and so my python knowledge is zilch. I seems like I need to add the current directory to the python_path or something, but I'm not sure how to do that, and it's only a guess. I'm on Windows Vista. Any guidance would be appreciated. Thanks, John -- Nick Johnson, App Engine Developer Programs Engineer Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number: 368047 --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: OverQuotaErrors on Image Transforms
Hi Federico, Quotas are divided into smaller time periods than just daily, to prevent a single burst from exhausting an entire day's quota, and leaving your app inaccessible for the remainder of the day. Does your app have particularly bursty traffic to the Images API? -Nick Johnson On Tue, Jun 16, 2009 at 6:04 PM, Federico Builes federico.bui...@gmail.comwrote: I'm getting a bunch of OverQuotaError when doing resizes on images, but when I check the quotas page I'm usually at 50-60/2592000. This has been bothering us constantly for 2-3 days now, any ideas on what might be wrong? The full trace is: The API call images.Transform() required more quota than is available. Traceback (most recent call last): File /base/python_lib/versions/1/google/appengine/ext/webapp/ __init__.py, line 503, in __call__ handler.post(*groups) File /base/data/home/apps/garota-social/15.334160378372986192/app/ controllers/candidate_photos.py, line 21, in post candidate.set_album_photos(keys_for_album_photos) File /base/data/home/apps/garota-social/15.334160378372986192/app/ helpers/candidate_helper.py, line 64, in set_album_photos thumb = db.get(self.photos[-1]).create_thumb() File /base/data/home/apps/garota-social/15.334160378372986192/app/ models/photo.py, line 19, in create_thumb thumbnail = image.execute_transforms() File /base/python_lib/versions/1/google/appengine/api/images/ __init__.py, line 490, in execute_transforms response) File /base/python_lib/versions/1/google/appengine/api/ apiproxy_stub_map.py, line 68, in MakeSyncCall apiproxy.MakeSyncCall(service, call, request, response) File /base/python_lib/versions/1/google/appengine/api/ apiproxy_stub_map.py, line 240, in MakeSyncCall stub.MakeSyncCall(service, call, request, response) File /base/python_lib/versions/1/google/appengine/runtime/ apiproxy.py, line 183, in MakeSyncCall rpc.CheckSuccess() File /base/python_lib/versions/1/google/appengine/api/ apiproxy_rpc.py, line 112, in CheckSuccess raise self.exception OverQuotaError: The API call images.Transform() required more quota than is available. -- Nick Johnson, App Engine Developer Programs Engineer Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number: 368047 --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Server Error (500) while uploading index definitions (again)
Hi gae123, My apologies - your email to me mistakenly got categorized as spam. I've moved the stuck indexes to 'error' state, so you should now be able to vacuum and re-create them. -Nick Johnson On Tue, Jun 16, 2009 at 5:04 PM, gae123 pa...@gae123.com wrote: For the record, four days after the original posting this remains an issue!! I sent a private message to Nick Johnosn with my app id yesterday morning but have not heard back. There is another posting in this thread by L whom I do not know and has nothing to do with my original posting and should have never replied to this thread with his issues because he just confused things. -- Nick Johnson, App Engine Developer Programs Engineer Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number: 368047 --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Server Error
I would suggest using version control if you want to be able to easily revert,... I'm using Mercurial, so I have that. I think my point is that when you upload a new version of an app, you really have no idea if it's going to work or not. So your site could be down while you are trying to upload a previous version. If I understand correctly, the the version number, I can just click a checkbox on the admin console and go back to a prior version within seconds. I think the best practice would be to create a second Google App, then upload the code there, test the application, then re-upload to the main site. Any opinions on that? I assume each application has an entire separately database correct? (Isn't the app name part of the keys to all the entities?) Google Apps do not provide support for App Engine. So what is the official support path for App Engine? Why did the error I got have a link to Google/Apps support? If I open a ticket with them, would they a least email me back with a message that says they don't support something? Thanks, Neal Walters --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: app-engine-patch 1.0.2 released
That link is exactly what I missed. On Jun 17, 12:56 am, Alkis Evlogimenos ('Αλκης Ευλογημένος) evlogime...@gmail.com wrote: Aren't these http://code.google.com/p/app-engine-patch/wiki/GettingStartedgood enough? --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: entity at the front of index, should not be there, WILL NOT MOVE.
Great, yes, now it is fixed. Can you provide any insight into the nature of the problem? Should I be on guard for this type of thing in the future? What level of trust should I have for the indices? Ben On Jun 17, 8:29 am, Nick Johnson (Google) nick.john...@google.com wrote: Hi Ben, We've taken another look; _now_ it should be fixed. :) -Nick Johnson On Tue, Jun 16, 2009 at 1:02 AM, Ben Nevile ben.nev...@gmail.com wrote: Hi Nick, Sadly it is NOT fixed. Here is the URL again: http://appengine.google.com/datastore/explorer?app_id=friendmonthvie... Ben On Jun 15, 10:14 am, Nick Johnson (Google) nick.john...@google.com wrote: Hi Ben, Thanks for your patience, and for your consideration in leaving the app as-is. We have all the data we need, and your index should now be fixed. -Nick Johnson On Mon, Jun 15, 2009 at 4:21 PM, Ben Nevile ben.nev...@gmail.com wrote: bumping. app still in a broken state, but I need some resolution wrt this fundamental problem. Ben On Jun 11, 10:23 pm, Ben Nevile ben.nev...@gmail.com wrote: Okay, I'm just going to leave my app in a broken state so that someone from Google can look at this. I've been dealing with these broken indices for a long time. Shouldn't we be able to trust the indices? Here's a link in the datastore explorer to the GQL query that's messed up. Hopefully a Googler will have the admin access to see this view. http://appengine.google.com/datastore/explorer?app_id=friendmonthvie... Note that the entity with ID/Name 128120 is the first entity in the index even though there are thousands of other entities that should be in front of it. I have tried re-saving this entity many times, with the same and then different values, but it is stuck at this position in the index. In the past the only way I've been able to fix the index was by deleting the entity -- not cool. Please would someone from Google tell us what's up here, and if you're really kind, copy the message to my via email as well? Thanks in advance. I 3 GAE and want to 3 it even more. Ben -- Nick Johnson, App Engine Developer Programs Engineer Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number: 368047 --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: entity at the front of index, should not be there, WILL NOT MOVE.
Hi Ben, The issue was due to a bug in the way we generated index entries for your entities. In addition to the correct index entries, a faulty one was generated. We're working on ensuring this bug doesn't happen again right now. In general, yes, you should be able to trust the indexes absolutely. Bugs will inevitably surface, but these are the exceptions, rather than the rule. -Nick Johnson On Wed, Jun 17, 2009 at 2:58 PM, Ben Nevile ben.nev...@gmail.com wrote: Great, yes, now it is fixed. Can you provide any insight into the nature of the problem? Should I be on guard for this type of thing in the future? What level of trust should I have for the indices? Ben On Jun 17, 8:29 am, Nick Johnson (Google) nick.john...@google.com wrote: Hi Ben, We've taken another look; _now_ it should be fixed. :) -Nick Johnson On Tue, Jun 16, 2009 at 1:02 AM, Ben Nevile ben.nev...@gmail.com wrote: Hi Nick, Sadly it is NOT fixed. Here is the URL again: http://appengine.google.com/datastore/explorer?app_id=friendmonthvie. .. Ben On Jun 15, 10:14 am, Nick Johnson (Google) nick.john...@google.com wrote: Hi Ben, Thanks for your patience, and for your consideration in leaving the app as-is. We have all the data we need, and your index should now be fixed. -Nick Johnson On Mon, Jun 15, 2009 at 4:21 PM, Ben Nevile ben.nev...@gmail.com wrote: bumping. app still in a broken state, but I need some resolution wrt this fundamental problem. Ben On Jun 11, 10:23 pm, Ben Nevile ben.nev...@gmail.com wrote: Okay, I'm just going to leave my app in a broken state so that someone from Google can look at this. I've been dealing with these broken indices for a long time. Shouldn't we be able to trust the indices? Here's a link in the datastore explorer to the GQL query that's messed up. Hopefully a Googler will have the admin access to see this view. http://appengine.google.com/datastore/explorer?app_id=friendmonthvie. .. Note that the entity with ID/Name 128120 is the first entity in the index even though there are thousands of other entities that should be in front of it. I have tried re-saving this entity many times, with the same and then different values, but it is stuck at this position in the index. In the past the only way I've been able to fix the index was by deleting the entity -- not cool. Please would someone from Google tell us what's up here, and if you're really kind, copy the message to my via email as well? Thanks in advance. I 3 GAE and want to 3 it even more. Ben -- Nick Johnson, App Engine Developer Programs Engineer Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number: 368047 -- Nick Johnson, App Engine Developer Programs Engineer Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number: 368047 --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: entity at the front of index, should not be there, WILL NOT MOVE.
In fact, on second look, the problem has NOT been fixed. It has been fixed for the entity with id 128120, but now a different entity with id 71134 has taken its place. like 128120, 71134 does not belong at the top of this index. The application relies on the integrity of this index. Please help me understand why this is happening. Ben On Jun 17, 8:29 am, Nick Johnson (Google) nick.john...@google.com wrote: Hi Ben, We've taken another look; _now_ it should be fixed. :) -Nick Johnson On Tue, Jun 16, 2009 at 1:02 AM, Ben Nevile ben.nev...@gmail.com wrote: Hi Nick, Sadly it is NOT fixed. Here is the URL again: http://appengine.google.com/datastore/explorer?app_id=friendmonthvie... Ben On Jun 15, 10:14 am, Nick Johnson (Google) nick.john...@google.com wrote: Hi Ben, Thanks for your patience, and for your consideration in leaving the app as-is. We have all the data we need, and your index should now be fixed. -Nick Johnson On Mon, Jun 15, 2009 at 4:21 PM, Ben Nevile ben.nev...@gmail.com wrote: bumping. app still in a broken state, but I need some resolution wrt this fundamental problem. Ben On Jun 11, 10:23 pm, Ben Nevile ben.nev...@gmail.com wrote: Okay, I'm just going to leave my app in a broken state so that someone from Google can look at this. I've been dealing with these broken indices for a long time. Shouldn't we be able to trust the indices? Here's a link in the datastore explorer to the GQL query that's messed up. Hopefully a Googler will have the admin access to see this view. http://appengine.google.com/datastore/explorer?app_id=friendmonthvie... Note that the entity with ID/Name 128120 is the first entity in the index even though there are thousands of other entities that should be in front of it. I have tried re-saving this entity many times, with the same and then different values, but it is stuck at this position in the index. In the past the only way I've been able to fix the index was by deleting the entity -- not cool. Please would someone from Google tell us what's up here, and if you're really kind, copy the message to my via email as well? Thanks in advance. I 3 GAE and want to 3 it even more. Ben -- Nick Johnson, App Engine Developer Programs Engineer Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number: 368047 --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Error: API request datastore_v3.Count().
Hi, I am getting quite a few errors for datastore_v3.Count() API call. Almost 4 out of 5 calls are failing. Does anyone know what might be going on. An error occurred for the API request datastore_v3.Count(). Traceback (most recent call last): File /base/python_lib/versions/1/google/appengine/ext/webapp/ __init__.py, line 501, in __call__ handler.get(*groups) File /base/data/home/apps/appname/1.334266336811803628/ filename.py, line 76, in get idCount = query.count(1) File /base/python_lib/versions/1/google/appengine/ext/db/ __init__.py, line 1401, in count return self._get_query().Count(limit=limit) File /base/python_lib/versions/1/google/appengine/api/ datastore.py, line 984, in Count self._ToPb(limit=limit), resp) File /base/python_lib/versions/1/google/appengine/api/ apiproxy_stub_map.py, line 68, in MakeSyncCall apiproxy.MakeSyncCall(service, call, request, response) File /base/python_lib/versions/1/google/appengine/api/ apiproxy_stub_map.py, line 240, in MakeSyncCall stub.MakeSyncCall(service, call, request, response) File /base/python_lib/versions/1/google/appengine/runtime/ apiproxy.py, line 183, in MakeSyncCall rpc.CheckSuccess() File /base/python_lib/versions/1/google/appengine/api/ apiproxy_rpc.py, line 112, in CheckSuccess raise self.exception Error: An error occurred for the API request datastore_v3.Count(). --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: GData on GAE - to create a new empty spreadsheet - 401
I'm still stuck on this - any ideas? Thanks, Neal --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: entity at the front of index, should not be there, WILL NOT MOVE.
Hi again Ben, As far as we can tell, this is due to a one-off corruption in the index building process. Are you able to delete and re-create the index in question? -Nick Johnson On Wed, Jun 17, 2009 at 3:05 PM, Ben Nevile ben.nev...@gmail.com wrote: In fact, on second look, the problem has NOT been fixed. It has been fixed for the entity with id 128120, but now a different entity with id 71134 has taken its place. like 128120, 71134 does not belong at the top of this index. The application relies on the integrity of this index. Please help me understand why this is happening. Ben On Jun 17, 8:29 am, Nick Johnson (Google) nick.john...@google.com wrote: Hi Ben, We've taken another look; _now_ it should be fixed. :) -Nick Johnson On Tue, Jun 16, 2009 at 1:02 AM, Ben Nevile ben.nev...@gmail.com wrote: Hi Nick, Sadly it is NOT fixed. Here is the URL again: http://appengine.google.com/datastore/explorer?app_id=friendmonthvie. .. Ben On Jun 15, 10:14 am, Nick Johnson (Google) nick.john...@google.com wrote: Hi Ben, Thanks for your patience, and for your consideration in leaving the app as-is. We have all the data we need, and your index should now be fixed. -Nick Johnson On Mon, Jun 15, 2009 at 4:21 PM, Ben Nevile ben.nev...@gmail.com wrote: bumping. app still in a broken state, but I need some resolution wrt this fundamental problem. Ben On Jun 11, 10:23 pm, Ben Nevile ben.nev...@gmail.com wrote: Okay, I'm just going to leave my app in a broken state so that someone from Google can look at this. I've been dealing with these broken indices for a long time. Shouldn't we be able to trust the indices? Here's a link in the datastore explorer to the GQL query that's messed up. Hopefully a Googler will have the admin access to see this view. http://appengine.google.com/datastore/explorer?app_id=friendmonthvie. .. Note that the entity with ID/Name 128120 is the first entity in the index even though there are thousands of other entities that should be in front of it. I have tried re-saving this entity many times, with the same and then different values, but it is stuck at this position in the index. In the past the only way I've been able to fix the index was by deleting the entity -- not cool. Please would someone from Google tell us what's up here, and if you're really kind, copy the message to my via email as well? Thanks in advance. I 3 GAE and want to 3 it even more. Ben -- Nick Johnson, App Engine Developer Programs Engineer Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number: 368047 -- Nick Johnson, App Engine Developer Programs Engineer Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number: 368047 --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: 'SearchableEntity' object has no attribute '_Entity__unindexed_properties'
Ok. Figured it out. This is a cautionary tale. If you are using your own version of SearchableModel beware the updates. You can miss something. ;) I didn't have this line (from 146 in SearchableModel) self._Entity__unindexed_properties = frozenset (kind_or_entity.unindexed_properties()) This was added May 8th in r56 of the file. I'm going to find a better way of having a modified SearchableModel because I bump my head on this every time there is a change upstream. On Jun 17, 4:42 am, Nick Johnson (Google) nick.john...@google.com wrote: Hi Josh, Can you please include your source code for the model that extends SearchableModel, or otherwise provide a simple test case that demonstrates the error? -Nick Johnson On Wed, Jun 17, 2009 at 9:18 AM, Josh Cronemeyer joshuacroneme...@gmail.com wrote: In my local dev environment I get the following stack trace when I try to create a record: ERROR 2009-06-17 07:50:03,769 __init__.py:385] 'SearchableEntity' object has no attribute '_Entity__unindexed_properties' Traceback (most recent call last): File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/webapp/__init__.py, line 503, in __call__ handler.post(*groups) File /Users/admin/Workshop/shell_sink/server/shellsink.py, line 101, in post create_command_tags(sysadmin, command, tags) File /Users/admin/Workshop/shell_sink/server/command_tag.py, line 58, in create_command_tags command.put() File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/db/__init__.py, line 695, in put return datastore.Put(self._entity) File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/api/datastore.py, line 155, in Put req.entity_list().extend([e._ToPb() for e in entities]) File /Users/admin/Workshop/shell_sink/server/command_search.py, line 143, in _ToPb return super(SearchableEntity, self)._ToPb() File /Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/api/datastore.py, line 513, in _ToPb name in self.__unindexed_properties): AttributeError: 'SearchableEntity' object has no attribute '_Entity__unindexed_properties' Weird thing is that I don't see this in production. I'm not sure when this started happening, but my guess is the change over to 1.22 and I just now started noticing it. My object extends SearchableModel. The stack trace happens when I did a put() on an object that was already in the datastore and hadn't changed. Handling the redundant put was my workaround, but I thought I would mention it here since it seems to be a difference between dev and prod. -- Nick Johnson, App Engine Developer Programs Engineer Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number: 368047 --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Property Rights
Hi all, I'm a very, very, very novice programmer, but I'm hoping to learn quickly. Anyway, I'm interested in starting to develop webapps and this place looks like a great place to start, especially since I've had a dash of experience with python. What I'm wondering is, let's say I have a stroke of genius and come up with the next stumbleupon while working on a project that I use google's app engine to develop. Is it going to be a problem for me to make money off of if it's through googles app engine? I skimmed to TOS but I'm no lawyer so it was very difficult to understand. Apparently I give them a royalty free license to alter and modify anything I put up, but at the same time they don't claim to own any of it. Confusing! So basically, my questions is lets say 5 years from now I make something which has the potential to make a ton of money, am I going to be safe to retire or is google going to take all of it somehow? --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Unable to create a new application
As far as I understand it, this means that your mobile phone number has already been used to sign up for an App Engine account and this can only be done once. I can think of three possible reasons for this: 1) You already used your mobile phone to sign up for App Engine with another Google Account (I read some people did have trouble because they used their mobile to sign up for Google Apps and now they can't use it for Google App Engine, so this may be a reason too) 2) When you bought your mobile, you didn't get a new number but an old one that isn't used anymore (numbers are limited) and as it happens, the guy who the number belonged to before signed up for Google App Engine with it 3) it's a bug! Hope that helps a bit while you are waiting for someone from Google to tell you exactly what's wrong. On 17 Jun., 03:17, glenn glennsilve...@gmail.com wrote: My account says I have 10 applications remaining. But when I try to create a new application, entering my mobile phone number, country and carrier, I get the following error: The phone number has been sent too many messages or has already been used to confirm an account. Anyone know what's going on and how to get past 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] No way to delete error data entry
Hi, I have tried all ways I known to delete some schema changing caused error Entities and failed. 1. Delete on Data Viewer on the console. Data Viewer shows No Data Yet. 2. Delete by code Below is part of the codes: Query q = pm.newQuery(CDKFingerprint.class); ListCDKFingerprint results2; results2 = (ListCDKFingerprint) q.execute(); pm.deletePersistentAll(results2); But that cause server error: java.lang.NullPointerException: Datastore entity with kind CDKFingerprint and key CDKMol(c=cc=cc=c)/CDKFingerprint(1) has a null property named bits_count. This property is mapped to cdkhelper.CDKFingerprint.bits_count, which cannot accept null values. ... at org.datanucleus.jdo.JDOPersistenceManager.deletePersistentAll (JDOPersistenceManager.java:795) ... 3. Assign values to the NULL field then delete The code for(CDKFingerprint r: results2) { r.bits_count = 0; pm.makePersistent(r); } And server error again java.lang.NullPointerException: Datastore entity with kind CDKFingerprint and key CDKMol(c=cc=cc=c)/CDKFingerprint(1) has a null property named bits_count. This property is mapped to cdkhelper.CDKFingerprint.bits_count, which cannot accept null values. ... at org.datanucleus.store.appengine.query.StreamingQueryResult $AbstractListIterator.hasNext(StreamingQueryResult.java:205) ... Having no idea and hoping help. Regards, Charlie --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] DataBase in GoogleApp
Hello all , I am trying to get started with GoogleApp and i am reading as much as i can about it. I have a few questions about it. 1. I understood that the DB is not a treditional DB. In the example (shoutout) they show how to store and get data from the DB, however what if i need to store different data in different DB's ? Lets take for example an application that handles expences of a any google user. user A uses it and then comes user B and user C etc... after while user A loggs in again and wants to get his data, this means i need to go over all the data in the data store in order to see wich records are user A records ... is there a way to open a DB for a user ... so when the user runs this application system will only know user A data ? 2. I dont come from webapp programming background, and i find the tutorials and docs very very hard to understand, are there any other resources ? 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] How to import Image and ImageDraw libraries from PIL to google apps
Hi, Issue is : getting this error type 'exceptions.ImportError': No module named PIL args = ('No module named PIL',) message = 'No module named PIL' when tried to call the statement import PIL I just want to create an image file dynamically. The things I have done for this is 1. Installed PIL for python 2.5 under the directory Python25\Lib\site- packages. 2.Tried to call these import statements from google.appengine.api import images then getting the error is type 'exceptions.NameError': global name 'Image' is not defined args = (global name 'Image' is not defined,) message = global name 'Image' is not defined 3. Again I tried this import PIL from PIL import Image after copying the PIL directory from Lib\site-packages to api directory google_appengine\google\appengine\api. Please any one tell me how to import the Image and ImageDraw from PIL . Is there any sample application in GAE for creating an image dynamically? Please respond. Thanks in Advance. --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Datastore Performance Test: Java runs 5 times SLOWER than Python ?
Hi keakon, Where do you get your figure of '5 times slower' from? The statistics you posted demonstrate Python being slightly slower than Java, not the other way around (and certainly not by a factor of 5). -Nick Johnson On Wed, Jun 17, 2009 at 4:44 PM, 风笑雪 kea...@gmail.com wrote: I did a datastore performance test with both Java (using JDO) and Python tonight, and find Python is much faster than Java. I defined a simple model which contains only 1 string property, and you can find the code in the attachment. There are two links for you to test: http://java.latest.gaejava.appspot.com http://python.latest.gaejava.appspot.com I found the cpu time and api cpu time are almost the same between Java and Python, the only difference is response time. I don't know whether it's a defect of Java version or problem of my code (it's the first time I write app in Java), can anybody check it? This is my test result: Java: Add: Time of save 1 entity: 54ms Time of create 100 entities: 0ms Time of save 100 entities: 7765ms Time of save 1 entity: 52ms Time of create 100 entities: 0ms Time of save 100 entities: 7059ms Time of save 1 entity: 61ms Time of create 100 entities: 0ms Time of save 100 entities: 7384ms Update: Time of fetch 1 entity: 222ms Time of update 1 entity: 25ms Time of fetch 100 entities: 40ms Time of update 100 entities: 7098ms Time of fetch 1 entity: 33ms Time of update 1 entity: 25ms Time of fetch 100 entities: 35ms Time of update 100 entities: 8038ms Time of fetch 1 entity: 14ms Time of update 1 entity: 24ms Time of fetch 100 entities: 34ms Time of update 100 entities: 8425ms Delete: Time of fetch 1 entity: 16ms Time of delete 1 entity: 82ms Time of fetch 100 entities: 36ms Time of delete 100 entities: 7655ms Time of fetch 1 entity: 93ms Time of delete 1 entity: 104ms Time of fetch 100 entities: 45ms Time of delete 100 entities: 9825ms Time of fetch 1 entity: 176ms Time of delete 1 entity: 98ms Time of fetch 100 entities: 60ms Time of delete 100 entities: 7784ms Log: 06-17 07:34AM 51.575 /del 200 8145ms 7970cpu_ms 6823api_cpu_ms 0kb java.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.187.1Safari/531.0,gzip(gfe) 06-17 07:34AM 36.326 /del 200 10094ms 8083cpu_ms 6823api_cpu_ms 0kb java.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.187.1Safari/531.0,gzip(gfe) 06-17 07:34AM 21.466 /del 200 7819ms 7942cpu_ms 6823api_cpu_ms 0kb java.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.187.1Safari/531.0,gzip(gfe) 06-17 07:34AM 02.319 /update 200 8519ms 13189cpu_ms 11929api_cpu_ms 0kb java.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.187.1Safari/531.0,gzip(gfe) 06-17 07:33AM 48.282 /update 200 8159ms 13105cpu_ms 11929api_cpu_ms 0kb java.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.187.1Safari/531.0,gzip(gfe) 06-17 07:33AM 35.099 /update 200 7426ms 13664cpu_ms 11929api_cpu_ms 0kb java.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.187.1Safari/531.0,gzip(gfe) 06-17 07:33AM 20.908 /add 200 7476ms 10684cpu_ms 9453api_cpu_ms 0kb java.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.187.1Safari/531.0,gzip(gfe) 06-17 07:33AM 07.749 /add 200 7146ms 10684cpu_ms 9453api_cpu_ms 0kb java.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.187.1Safari/531.0,gzip(gfe) 06-17 07:32AM 49.846 /add 200 7862ms 10825cpu_ms 9453api_cpu_ms 0kb java.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.187.1Safari/531.0,gzip(gfe) Python: Add: Time of save 1 entity: 129.576921ms Time of create 100 entities: 2.582073ms Time of save 100 entities: 1210.234880ms Time of save 1 entity: 54.707050ms Time of create 100 entities: 2.454042ms Time of save 100 entities: 1481.308937ms Time of save 1 entity: 47.955990ms Time of create 100 entities: 2.021074ms Time of save 100 entities: 1310.760021ms Update: Time of fetch 1 entity: 388.538837ms Time of update 1 entity: 53.938150ms Time of fetch 100 entities: 96.820831ms Time of update 100 entities: 1242.298126ms Time of fetch 1 entity: 409.255028ms Time of update 1 entity: 43.366909ms Time of fetch
[google-appengine] Re: Property Rights
Hi Jonathan, Rest assured that we have neither desire nor intention to claim your intellectual property. The license you grant in the TOS is purely to allow us to legitimately provide the App Engine service. Note, of course, that I am not a lawyer, this is not legal advice, and I can't speak to specific legal details. If you're concerned about this, I recommend consulting a lawyer and asking for their interpretation of the Terms of Service to be sure. -Nick Johnson On Wed, Jun 17, 2009 at 2:36 AM, Jonathan jonathan.gord...@gmail.comwrote: Hi all, I'm a very, very, very novice programmer, but I'm hoping to learn quickly. Anyway, I'm interested in starting to develop webapps and this place looks like a great place to start, especially since I've had a dash of experience with python. What I'm wondering is, let's say I have a stroke of genius and come up with the next stumbleupon while working on a project that I use google's app engine to develop. Is it going to be a problem for me to make money off of if it's through googles app engine? I skimmed to TOS but I'm no lawyer so it was very difficult to understand. Apparently I give them a royalty free license to alter and modify anything I put up, but at the same time they don't claim to own any of it. Confusing! So basically, my questions is lets say 5 years from now I make something which has the potential to make a ton of money, am I going to be safe to retire or is google going to take all of it somehow? -- Nick Johnson, App Engine Developer Programs Engineer Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number: 368047 --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: No way to delete error data entry
Hi Charlie, Your easiest option here is probably to upload an alternate major version of your app with the old schema, and use that to retrieve and fix the faulty entit(y|ies). Alternate approaches include using the low level datastore API, or uploading a Python version that uses the low level API or db.Expando. -Nick Johnson On Wed, Jun 17, 2009 at 9:15 AM, Charlie Zhu zh.char...@gmail.com wrote: Hi, I have tried all ways I known to delete some schema changing caused error Entities and failed. 1. Delete on Data Viewer on the console. Data Viewer shows No Data Yet. 2. Delete by code Below is part of the codes: Query q = pm.newQuery(CDKFingerprint.class); ListCDKFingerprint results2; results2 = (ListCDKFingerprint) q.execute(); pm.deletePersistentAll(results2); But that cause server error: java.lang.NullPointerException: Datastore entity with kind CDKFingerprint and key CDKMol(c=cc=cc=c)/CDKFingerprint(1) has a null property named bits_count. This property is mapped to cdkhelper.CDKFingerprint.bits_count, which cannot accept null values. ... at org.datanucleus.jdo.JDOPersistenceManager.deletePersistentAll (JDOPersistenceManager.java:795) ... 3. Assign values to the NULL field then delete The code for(CDKFingerprint r: results2) { r.bits_count = 0; pm.makePersistent(r); } And server error again java.lang.NullPointerException: Datastore entity with kind CDKFingerprint and key CDKMol(c=cc=cc=c)/CDKFingerprint(1) has a null property named bits_count. This property is mapped to cdkhelper.CDKFingerprint.bits_count, which cannot accept null values. ... at org.datanucleus.store.appengine.query.StreamingQueryResult $AbstractListIterator.hasNext(StreamingQueryResult.java:205) ... Having no idea and hoping help. Regards, Charlie -- Nick Johnson, App Engine Developer Programs Engineer Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number: 368047 --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: DataBase in GoogleApp
Hi Thegremlin, On Wed, Jun 17, 2009 at 10:12 AM, Thegremlin eddie.har...@gmail.com wrote: Hello all , I am trying to get started with GoogleApp and i am reading as much as i can about it. I have a few questions about it. 1. I understood that the DB is not a treditional DB. In the example (shoutout) they show how to store and get data from the DB, however what if i need to store different data in different DB's ? Only one datastore is available per application. You can shard your data by adding fields to your models, and querying based on them. Lets take for example an application that handles expences of a any google user. user A uses it and then comes user B and user C etc... after while user A loggs in again and wants to get his data, this means i need to go over all the data in the data store in order to see wich records are user A records ... is there a way to open a DB for a user ... so when the user runs this application system will only know user A data ? 2. I dont come from webapp programming background, and i find the tutorials and docs very very hard to understand, are there any other resources ? You may like http://www.appenginelearn.com/. The author, Charles Severance, has recently published a very good book based on this content, called Using Google App Engine. -Nick Johnson thanks , -- Nick Johnson, App Engine Developer Programs Engineer Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number: 368047 --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: How to import Image and ImageDraw libraries from PIL to google apps
Hi chinki, It's not possible to use Python modules that require extension modules (C code) in App Engine. This includes the PIL library. The Image API is available, which may meet your needs: http://code.google.com/appengine/docs/python/images/ . If not, you will need to use an external service to achieve this. -Nick Johnson On Wed, Jun 17, 2009 at 11:01 AM, chinki dbpil...@gmail.com wrote: Hi, Issue is : getting this error type 'exceptions.ImportError': No module named PIL args = ('No module named PIL',) message = 'No module named PIL' when tried to call the statement import PIL I just want to create an image file dynamically. The things I have done for this is 1. Installed PIL for python 2.5 under the directory Python25\Lib\site- packages. 2.Tried to call these import statements from google.appengine.api import images then getting the error is type 'exceptions.NameError': global name 'Image' is not defined args = (global name 'Image' is not defined,) message = global name 'Image' is not defined 3. Again I tried this import PIL from PIL import Image after copying the PIL directory from Lib\site-packages to api directory google_appengine\google\appengine\api. Please any one tell me how to import the Image and ImageDraw from PIL . Is there any sample application in GAE for creating an image dynamically? Please respond. Thanks in Advance. -- Nick Johnson, App Engine Developer Programs Engineer Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number: 368047 --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: remote_api -ImportError: No module named models
That worked, thanks. (I actually saw that answer to another post earlier, and for some reason misunderstood the instruction) On Jun 17, 4:46 am, Nick Johnson (Google) nick.john...@google.com wrote: Hi johnfromCalgary, Try running set PYTHONPATH=. in your shell window before running the import script. -Nick Johnson On Wed, Jun 17, 2009 at 1:30 AM, johnfromCalgary jdpo...@gmail.com wrote: It seems like variations of this question has been asked a few times, but I can't get tell which of the answers are out of date, in any case, none of the solutions work. I've followed this verbatim:http://code.google.com/appengine/docs/ python/tools/uploadingdata.htmlhttp://code.google.com/appengine/docs/%0Apython/tools/uploadingdata.html and get the error: ImportError: No module named models Let many java users, I'm only using this to get data into the data store; I've spent more time on this than everything else combined... and so my python knowledge is zilch. I seems like I need to add the current directory to the python_path or something, but I'm not sure how to do that, and it's only a guess. I'm on Windows Vista. Any guidance would be appreciated. Thanks, John -- Nick Johnson, App Engine Developer Programs Engineer Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number: 368047 --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Datastore Performance Test: Java runs 5 times SLOWER than Python ?
All the puts() are slower in Java it seems. 2009/6/17 Nick Johnson (Google) nick.john...@google.com Hi keakon, Where do you get your figure of '5 times slower' from? The statistics you posted demonstrate Python being slightly slower than Java, not the other way around (and certainly not by a factor of 5). -Nick Johnson On Wed, Jun 17, 2009 at 4:44 PM, 风笑雪 kea...@gmail.com wrote: I did a datastore performance test with both Java (using JDO) and Python tonight, and find Python is much faster than Java. I defined a simple model which contains only 1 string property, and you can find the code in the attachment. There are two links for you to test: http://java.latest.gaejava.appspot.com http://python.latest.gaejava.appspot.com I found the cpu time and api cpu time are almost the same between Java and Python, the only difference is response time. I don't know whether it's a defect of Java version or problem of my code (it's the first time I write app in Java), can anybody check it? This is my test result: Java: Add: Time of save 1 entity: 54ms Time of create 100 entities: 0ms Time of save 100 entities: 7765ms Time of save 1 entity: 52ms Time of create 100 entities: 0ms Time of save 100 entities: 7059ms Time of save 1 entity: 61ms Time of create 100 entities: 0ms Time of save 100 entities: 7384ms Update: Time of fetch 1 entity: 222ms Time of update 1 entity: 25ms Time of fetch 100 entities: 40ms Time of update 100 entities: 7098ms Time of fetch 1 entity: 33ms Time of update 1 entity: 25ms Time of fetch 100 entities: 35ms Time of update 100 entities: 8038ms Time of fetch 1 entity: 14ms Time of update 1 entity: 24ms Time of fetch 100 entities: 34ms Time of update 100 entities: 8425ms Delete: Time of fetch 1 entity: 16ms Time of delete 1 entity: 82ms Time of fetch 100 entities: 36ms Time of delete 100 entities: 7655ms Time of fetch 1 entity: 93ms Time of delete 1 entity: 104ms Time of fetch 100 entities: 45ms Time of delete 100 entities: 9825ms Time of fetch 1 entity: 176ms Time of delete 1 entity: 98ms Time of fetch 100 entities: 60ms Time of delete 100 entities: 7784ms Log: 06-17 07:34AM 51.575 /del 200 8145ms 7970cpu_ms 6823api_cpu_ms 0kb java.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.187.1Safari/531.0,gzip(gfe) 06-17 07:34AM 36.326 /del 200 10094ms 8083cpu_ms 6823api_cpu_ms 0kb java.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.187.1Safari/531.0,gzip(gfe) 06-17 07:34AM 21.466 /del 200 7819ms 7942cpu_ms 6823api_cpu_ms 0kb java.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.187.1Safari/531.0,gzip(gfe) 06-17 07:34AM 02.319 /update 200 8519ms 13189cpu_ms 11929api_cpu_ms 0kb java.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.187.1Safari/531.0,gzip(gfe) 06-17 07:33AM 48.282 /update 200 8159ms 13105cpu_ms 11929api_cpu_ms 0kb java.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.187.1Safari/531.0,gzip(gfe) 06-17 07:33AM 35.099 /update 200 7426ms 13664cpu_ms 11929api_cpu_ms 0kb java.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.187.1Safari/531.0,gzip(gfe) 06-17 07:33AM 20.908 /add 200 7476ms 10684cpu_ms 9453api_cpu_ms 0kb java.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.187.1Safari/531.0,gzip(gfe) 06-17 07:33AM 07.749 /add 200 7146ms 10684cpu_ms 9453api_cpu_ms 0kb java.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.187.1Safari/531.0,gzip(gfe) 06-17 07:32AM 49.846 /add 200 7862ms 10825cpu_ms 9453api_cpu_ms 0kb java.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.187.1Safari/531.0,gzip(gfe) Python: Add: Time of save 1 entity: 129.576921ms Time of create 100 entities: 2.582073ms Time of save 100 entities: 1210.234880ms Time of save 1 entity: 54.707050ms Time of create 100 entities: 2.454042ms Time of save 100 entities: 1481.308937ms Time of save 1 entity: 47.955990ms Time of create 100 entities: 2.021074ms Time of save 100 entities: 1310.760021ms Update: Time of fetch 1 entity: 388.538837ms Time of update 1 entity: 53.938150ms Time of fetch 100 entities: 96.820831ms Time of update 100 entities:
[google-appengine] Re: Datastore Performance Test: Java runs 5 times SLOWER than Python ?
You can see the first compare result of adding: Java: Time of save 100 entities: 7765ms06-17 07:32AM 49.846 /add 200 7862ms 10825cpu_ms 9453api_cpu_ms 0kb java.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.187.1 Safari/531.0,gzip(gfe) Python: Time of save 100 entities: 1210.234880ms 06-17 07:35AM 26.595 /add 200 1458ms 9649cpu_ms 9453api_cpu_ms 0kb python.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.187.1 Safari/531.0,gzip(gfe) 2009/6/18 Alkis Evlogimenos ('Αλκης Ευλογημένος) evlogime...@gmail.com All the puts() are slower in Java it seems. 2009/6/17 Nick Johnson (Google) nick.john...@google.com Hi keakon, Where do you get your figure of '5 times slower' from? The statistics you posted demonstrate Python being slightly slower than Java, not the other way around (and certainly not by a factor of 5). -Nick Johnson On Wed, Jun 17, 2009 at 4:44 PM, 风笑雪 kea...@gmail.com wrote: I did a datastore performance test with both Java (using JDO) and Python tonight, and find Python is much faster than Java. I defined a simple model which contains only 1 string property, and you can find the code in the attachment. There are two links for you to test: http://java.latest.gaejava.appspot.com http://python.latest.gaejava.appspot.com I found the cpu time and api cpu time are almost the same between Java and Python, the only difference is response time. I don't know whether it's a defect of Java version or problem of my code (it's the first time I write app in Java), can anybody check it? This is my test result: Java: Add: Time of save 1 entity: 54ms Time of create 100 entities: 0ms Time of save 100 entities: 7765ms Time of save 1 entity: 52ms Time of create 100 entities: 0ms Time of save 100 entities: 7059ms Time of save 1 entity: 61ms Time of create 100 entities: 0ms Time of save 100 entities: 7384ms Update: Time of fetch 1 entity: 222ms Time of update 1 entity: 25ms Time of fetch 100 entities: 40ms Time of update 100 entities: 7098ms Time of fetch 1 entity: 33ms Time of update 1 entity: 25ms Time of fetch 100 entities: 35ms Time of update 100 entities: 8038ms Time of fetch 1 entity: 14ms Time of update 1 entity: 24ms Time of fetch 100 entities: 34ms Time of update 100 entities: 8425ms Delete: Time of fetch 1 entity: 16ms Time of delete 1 entity: 82ms Time of fetch 100 entities: 36ms Time of delete 100 entities: 7655ms Time of fetch 1 entity: 93ms Time of delete 1 entity: 104ms Time of fetch 100 entities: 45ms Time of delete 100 entities: 9825ms Time of fetch 1 entity: 176ms Time of delete 1 entity: 98ms Time of fetch 100 entities: 60ms Time of delete 100 entities: 7784ms Log: 06-17 07:34AM 51.575 /del 200 8145ms 7970cpu_ms 6823api_cpu_ms 0kb java.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.187.1Safari/531.0,gzip(gfe) 06-17 07:34AM 36.326 /del 200 10094ms 8083cpu_ms 6823api_cpu_ms 0kb java.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.187.1Safari/531.0,gzip(gfe) 06-17 07:34AM 21.466 /del 200 7819ms 7942cpu_ms 6823api_cpu_ms 0kb java.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.187.1Safari/531.0,gzip(gfe) 06-17 07:34AM 02.319 /update 200 8519ms 13189cpu_ms 11929api_cpu_ms 0kb java.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.187.1Safari/531.0,gzip(gfe) 06-17 07:33AM 48.282 /update 200 8159ms 13105cpu_ms 11929api_cpu_ms 0kb java.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.187.1Safari/531.0,gzip(gfe) 06-17 07:33AM 35.099 /update 200 7426ms 13664cpu_ms 11929api_cpu_ms 0kb java.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.187.1Safari/531.0,gzip(gfe) 06-17 07:33AM 20.908 /add 200 7476ms 10684cpu_ms 9453api_cpu_ms 0kb java.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.187.1Safari/531.0,gzip(gfe) 06-17 07:33AM 07.749 /add 200 7146ms 10684cpu_ms 9453api_cpu_ms 0kb java.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.187.1Safari/531.0,gzip(gfe) 06-17 07:32AM 49.846 /add 200 7862ms 10825cpu_ms 9453api_cpu_ms 0kb java.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US)
[google-appengine] Application names disappear from Admin console, No new can be created but nevertheless availability counter is decreasing
Hi Folks, I experience a strange situation, which needs some explanation as the sequence op steps might have caused this problem. Step 1: I created more than one year ago my first application in Google App Engine using a Google App Acount (here) called X. Step 2: I created a second, a third and a fourth AppEngine name using account X, so total of 4 applications. All were displayed in the admin console. Step 3 : I created a new Google Account (called Y) -- This is a Gmail account, not an App Engine account! Step 4: I allowed account Y to become administrator of my first Google App Engine application, So far so good: 2 admins! Step 5: Today I tried to create with account X (is admin) a new Google App Engine application. The system accepts the new application name but when i finished this process, no new application name appeared in the admin console (the screen you see when you login). The number of available Google App Engine applications went anyhow down from 10 to 9. Another big surprise i got: all my other applications made with account X (so the second, third and fourth mentioned in step 2) were gone. As far as i know you cannot delete applications. I have never found or seen such a function. My older application names are not listed anymore. Only 1 application is shown and that was my first from step1 !! The application counter shows that I still have 9 applications available... Weird...strange..strange..strange Lucky me these apps were not the important ones... Step 6: I retried to create again a new Google App Engine application with again a new name, but no new things appear in the admin console, nevertheless the counter went down again: The number of available Google App Engine applications went down from 9 to 8. Step 7: after 30-60 minutes waiting NO new Google App Engine application name has appeared in the console. So what is happening here? Logging on with account Y does not show them (which would be even more strange when that would have happened). I am stuck here: 3 apps gone en no new one can be created. Hheelp!!! --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Application names disappear from Admin console, No new can be created but nevertheless availability counter is decreasing
Hi stelg, Is account 'X' an Apps for Your Domain account? If so, you need to log in at http://appengine.google.com/a/yourdomain to see the apps. -Nick Johnson On Wed, Jun 17, 2009 at 5:08 PM, stelg stelg.best...@gmail.com wrote: Hi Folks, I experience a strange situation, which needs some explanation as the sequence op steps might have caused this problem. Step 1: I created more than one year ago my first application in Google App Engine using a Google App Acount (here) called X. Step 2: I created a second, a third and a fourth AppEngine name using account X, so total of 4 applications. All were displayed in the admin console. Step 3 : I created a new Google Account (called Y) -- This is a Gmail account, not an App Engine account! Step 4: I allowed account Y to become administrator of my first Google App Engine application, So far so good: 2 admins! Step 5: Today I tried to create with account X (is admin) a new Google App Engine application. The system accepts the new application name but when i finished this process, no new application name appeared in the admin console (the screen you see when you login). The number of available Google App Engine applications went anyhow down from 10 to 9. Another big surprise i got: all my other applications made with account X (so the second, third and fourth mentioned in step 2) were gone. As far as i know you cannot delete applications. I have never found or seen such a function. My older application names are not listed anymore. Only 1 application is shown and that was my first from step1 !! The application counter shows that I still have 9 applications available... Weird...strange..strange..strange Lucky me these apps were not the important ones... Step 6: I retried to create again a new Google App Engine application with again a new name, but no new things appear in the admin console, nevertheless the counter went down again: The number of available Google App Engine applications went down from 9 to 8. Step 7: after 30-60 minutes waiting NO new Google App Engine application name has appeared in the console. So what is happening here? Logging on with account Y does not show them (which would be even more strange when that would have happened). I am stuck here: 3 apps gone en no new one can be created. Hheelp!!! -- Nick Johnson, App Engine Developer Programs Engineer Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number: 368047 --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] OverQuotaErrors on Image Transforms
Nick Johnson (Google) writes: Hi Federico, Quotas are divided into smaller time periods than just daily, to prevent a single burst from exhausting an entire day's quota, and leaving your app inaccessible for the remainder of the day. Does your app have particularly bursty traffic to the Images API? Each time someone uploads their pictures we don 6-7 resizes on it, could this be triggering this behavior? And if so, what can we do to fix it until the Task Queue is implemented? -- Federico Builes --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: OverQuotaErrors on Image Transforms
Hi Federico, That could be causing the issue, particularly if you get a burst of users uploading pictures. Currently your best option is probably to do the resizes in a cron job when you can, but the task queue API is coming Real Soon Now, so waiting may be a better bet. :) -Nick Johnson On Wed, Jun 17, 2009 at 5:41 PM, Federico Builes federico.bui...@gmail.comwrote: Nick Johnson (Google) writes: Hi Federico, Quotas are divided into smaller time periods than just daily, to prevent a single burst from exhausting an entire day's quota, and leaving your app inaccessible for the remainder of the day. Does your app have particularly bursty traffic to the Images API? Each time someone uploads their pictures we don 6-7 resizes on it, could this be triggering this behavior? And if so, what can we do to fix it until the Task Queue is implemented? -- Federico Builes -- Nick Johnson, App Engine Developer Programs Engineer Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number: 368047 --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Appengine timeout..?
Ok, I know browsers have URL length limits. But I was talking about sending data as part of the src=http://myappspot.appspot.com? somdata=abcdefg of an iframe. So I was wondering are there limits 1. how much data I can stuff in that src-URL? I guess there is no other way to do it if one uses an iframe. 2. are there any time limits while the browser fetches the appengine- webpage for the iframe? Will appengine just time out if the src-URL- data string is too long so it takes to long to finish the request? How long can it take? On Jun 17, 12:41 pm, Nick Johnson (Google) nick.john...@google.com wrote: Hi Astrid, On Wed, Jun 17, 2009 at 6:20 AM, astrid.thuec...@googlemail.com astrid.thuec...@googlemail.com wrote: In general - how much data can I send in an request to the appengine and be sure it won't time out? Is the amount different between a GET and POST request? Requests are limited to 10MB, and the counter on your request doesn't start until the entire request has been received. Another thing is, that I would like to create an iframe and send some data in the src-URL string: iframe src=http://myappspot.appspot.com?somdata=abcdefg; ... I fear that in special cases there might be many iframes of this type on a users site and the src-String could be really really long. Does this mean it would time out? The most data you can reliably transfer in a URL is on the order of about 1k (different browsers have different URL-length limits), which is so small it will take an insignificant amount of time to transmit. Does it make a difference if there are many iframes on a single page, since a users connection will try to load all at once, connection speed is split by the number iframes. isn't it? Does this increase the danger of running into timeouts? Browsers will request at most two resources from the same site simultaneously, regardless of how many there are to fetch in total. -Nick Johnson --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Appengine timeout..?
On Wed, Jun 17, 2009 at 5:58 PM, codingGirl astrid.thuec...@googlemail.comwrote: Ok, I know browsers have URL length limits. But I was talking about sending data as part of the src=http://myappspot.appspot.com? somdata=abcdefg of an iframe. So I was wondering are there limits 1. how much data I can stuff in that src-URL? I guess there is no other way to do it if one uses an iframe. That depends on the browser, rather than App Engine. I'm not sure what the hard limits are on what common browsers will accept. 2. are there any time limits while the browser fetches the appengine- webpage for the iframe? Will appengine just time out if the src-URL- data string is too long so it takes to long to finish the request? How long can it take? The 30 second request limit only starts after App Engine receives the request. At any rate, with a maximum URL length on the order of a few kilobytes, even the slowest user is not likely to take more than a second or two to transmit the URL! -Nick Johnson On Jun 17, 12:41 pm, Nick Johnson (Google) nick.john...@google.com wrote: Hi Astrid, On Wed, Jun 17, 2009 at 6:20 AM, astrid.thuec...@googlemail.com astrid.thuec...@googlemail.com wrote: In general - how much data can I send in an request to the appengine and be sure it won't time out? Is the amount different between a GET and POST request? Requests are limited to 10MB, and the counter on your request doesn't start until the entire request has been received. Another thing is, that I would like to create an iframe and send some data in the src-URL string: iframe src=http://myappspot.appspot.com?somdata=abcdefg; ... I fear that in special cases there might be many iframes of this type on a users site and the src-String could be really really long. Does this mean it would time out? The most data you can reliably transfer in a URL is on the order of about 1k (different browsers have different URL-length limits), which is so small it will take an insignificant amount of time to transmit. Does it make a difference if there are many iframes on a single page, since a users connection will try to load all at once, connection speed is split by the number iframes. isn't it? Does this increase the danger of running into timeouts? Browsers will request at most two resources from the same site simultaneously, regardless of how many there are to fetch in total. -Nick Johnson -- Nick Johnson, App Engine Developer Programs Engineer Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number: 368047 --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Testing GAE application best practices
I have been searching this group for testing (unit testing mostly) Python GAE webapp, and the threads about testing (Pyhon) is mostly more than a year ago. They don't contains much discussion or material as well. As a comparison to Django (not in GAE), the framework provides a nice testing framework for things such as, clearing database for each test, installing fixtures, checking for response context variables, a test client, etc. Is there such tools for Python GAE webapp? Are you using bare unittest with webtest? Are you using windmill? How are you testing your Python GAE webapp now? What is the best practices? 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Appengine timeout..?
I thought the URL lenght limit applies only for URLs typed int he browsers address bar, doesn't it? Or does it also apply to the src-URL in an iframe? On Jun 17, 7:01 pm, Nick Johnson (Google) nick.john...@google.com wrote: On Wed, Jun 17, 2009 at 5:58 PM, codingGirl astrid.thuec...@googlemail.comwrote: Ok, I know browsers have URL length limits. But I was talking about sending data as part of the src=http://myappspot.appspot.com? somdata=abcdefg of an iframe. So I was wondering are there limits 1. how much data I can stuff in that src-URL? I guess there is no other way to do it if one uses an iframe. That depends on the browser, rather than App Engine. I'm not sure what the hard limits are on what common browsers will accept. 2. are there any time limits while the browser fetches the appengine- webpage for the iframe? Will appengine just time out if the src-URL- data string is too long so it takes to long to finish the request? How long can it take? The 30 second request limit only starts after App Engine receives the request. At any rate, with a maximum URL length on the order of a few kilobytes, even the slowest user is not likely to take more than a second or two to transmit the URL! -Nick Johnson On Jun 17, 12:41 pm, Nick Johnson (Google) nick.john...@google.com wrote: Hi Astrid, On Wed, Jun 17, 2009 at 6:20 AM, astrid.thuec...@googlemail.com astrid.thuec...@googlemail.com wrote: In general - how much data can I send in an request to the appengine and be sure it won't time out? Is the amount different between a GET and POST request? Requests are limited to 10MB, and the counter on your request doesn't start until the entire request has been received. Another thing is, that I would like to create an iframe and send some data in the src-URL string: iframe src=http://myappspot.appspot.com?somdata=abcdefg; ... I fear that in special cases there might be many iframes of this type on a users site and the src-String could be really really long. Does this mean it would time out? The most data you can reliably transfer in a URL is on the order of about 1k (different browsers have different URL-length limits), which is so small it will take an insignificant amount of time to transmit. Does it make a difference if there are many iframes on a single page, since a users connection will try to load all at once, connection speed is split by the number iframes. isn't it? Does this increase the danger of running into timeouts? Browsers will request at most two resources from the same site simultaneously, regardless of how many there are to fetch in total. -Nick Johnson -- Nick Johnson, App Engine Developer Programs Engineer Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number: 368047 --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: [ANN] Kay - Another web framework on app engine - beta version
Hi Have you looked into Glashammer? http://glashammer.org/ It uses the same idea that is werkzeug, wtforms and jinja2. On Wed, Jun 17, 2009 at 2:00 AM, Takashi Matsuomatsuo.taka...@gmail.com wrote: Hi list, I'd like to let you know about my web framework. It is named 'Kay'. Kay is a web framework made specifically for Google App Engine/Python. The basic design of Kay is based on the Django framework, like middleware, settings and pluggable application, etc. Kay uses Werkzeug as lower level framework, Jinja2 as template engine, and babel for handling language translations. This software is distributed under BSD license. See LICENSE for more details. See README for quickstart. It is still beta version and under heavilly development. So I don't recommend you to use this framework for production, but if you're interested, please visit: http://code.google.com/p/kay-framework/ I'll be glad if you let me know what you think. Regards, -- Takashi Matsuo -- Ritesh http://www.riteshn.com --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Kay - Another web framework on app engine - beta version
Can you please tell us the features and benefits of your framework? I don't Jinja2 or Werkzeug - so what's in it for developers? Neal Walters --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Testing GAE application best practices
I just learned about the Gaebar - Backup and Restore utility this morning: http://aralbalkan.com/1784. No time to use it yet, but they have a nice 16:42 minute video. It talks about moving data between a staging and production environment, so they might answer part of your question. Neal Walters --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Large file support
Hello We are in the process of developing a music website and we will need user to upload their high-quality version of songs. Looking at http://code.google.com/appengine/docs/roadmap.html and http://stackoverflow.com/questions/842426/google-app-engine-large-file-upload, it looks like the support is still being given. When can I expect it to be released? Is Amazon S3 the best thing right now? -- Ritesh http://www.riteshn.com --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: [ANN] Kay - Another web framework on app engine - beta version
Hi Ritesh, Thanks for your comment. Yes I have looked into Glashammer, it seems that it is a neat and nice project. I know Kay is a very similar to Glashammer for now. Having said that, Glashammer is app-engine-in-dependent, so there must be code that is unnecessary for App Engine. I think, in a long term perspective, there is certainly a need for such a framework that is made specifically for App Engine. So I decided to start Kay. It is completely dependent on App Engine in its concept. I will never think of adapting Kay to any RDBMS. Anyway, thanks for your comment again :-) Regards, -- Takashi Matsuo On Thu, Jun 18, 2009 at 2:35 AM, Ritesh Nadhanirite...@gmail.com wrote: Hi Have you looked into Glashammer? http://glashammer.org/ It uses the same idea that is werkzeug, wtforms and jinja2. On Wed, Jun 17, 2009 at 2:00 AM, Takashi Matsuomatsuo.taka...@gmail.com wrote: Hi list, I'd like to let you know about my web framework. It is named 'Kay'. Kay is a web framework made specifically for Google App Engine/Python. The basic design of Kay is based on the Django framework, like middleware, settings and pluggable application, etc. Kay uses Werkzeug as lower level framework, Jinja2 as template engine, and babel for handling language translations. This software is distributed under BSD license. See LICENSE for more details. See README for quickstart. It is still beta version and under heavilly development. So I don't recommend you to use this framework for production, but if you're interested, please visit: http://code.google.com/p/kay-framework/ I'll be glad if you let me know what you think. Regards, -- Takashi Matsuo -- Ritesh http://www.riteshn.com --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Kay - Another web framework on app engine - beta version
On Wed, Jun 17, 2009 at 10:49 AM, NealWaltersnealwalt...@nealwalters.com wrote: Can you please tell us the features and benefits of your framework? I don't Jinja2 or Werkzeug - so what's in it for developers? Nothing as such. They are just another option instead of Django and Django templating system. Much more modular and in my guess, simpler to use. Give a look at Glashammer. Neal Walters -- Ritesh http://www.riteshn.com --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: [ANN] Kay - Another web framework on app engine - beta version
On Wed, Jun 17, 2009 at 11:02 AM, Takashi Matsuomatsuo.taka...@gmail.com wrote: Hi Ritesh, Thanks for your comment. Yes I have looked into Glashammer, it seems that it is a neat and nice project. I know Kay is a very similar to Glashammer for now. Having said that, Glashammer is app-engine-in-dependent, so there must be code that is unnecessary for App Engine. I think, in a long term perspective, there is certainly a need for such a framework that is made specifically for App Engine. So I decided to start Kay. It is completely dependent on App Engine in its concept. I will never think of adapting Kay to any RDBMS. I see where you are going. I will keep an eye on this. Maybe things that I contribute to Glashammer specifically for GAE can be ported to KAY too. More options never hurt! Anyway, thanks for your comment again :-) Regards, -- Takashi Matsuo On Thu, Jun 18, 2009 at 2:35 AM, Ritesh Nadhanirite...@gmail.com wrote: Hi Have you looked into Glashammer? http://glashammer.org/ It uses the same idea that is werkzeug, wtforms and jinja2. On Wed, Jun 17, 2009 at 2:00 AM, Takashi Matsuomatsuo.taka...@gmail.com wrote: Hi list, I'd like to let you know about my web framework. It is named 'Kay'. Kay is a web framework made specifically for Google App Engine/Python. The basic design of Kay is based on the Django framework, like middleware, settings and pluggable application, etc. Kay uses Werkzeug as lower level framework, Jinja2 as template engine, and babel for handling language translations. This software is distributed under BSD license. See LICENSE for more details. See README for quickstart. It is still beta version and under heavilly development. So I don't recommend you to use this framework for production, but if you're interested, please visit: http://code.google.com/p/kay-framework/ I'll be glad if you let me know what you think. Regards, -- Takashi Matsuo -- Ritesh http://www.riteshn.com -- Ritesh http://www.riteshn.com --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Attchment in mail message.
Hi, I am receiving multipart message in Post. I have parsed the message and have extracted different mail parts. And on of the part was --- content-type: image/gif content-transfer-encoding: base64 content-id: image_1.gif R0lGODlhdQAqALMAAGq12qHQ6Mnk8UGgz/L5/E2m0+Xy +a7X64XC4Fqt1tns9ZHI5He73bvd7jOZ zP///ywAdQAqAAAE//DJSau9OOvNu/9gKI5kaZ5oqq5s675wLM90bd94ru987// AoHBILBqP yKRyyWw6n9CodEqtWq8cwiFAwN4EiIHDkfDODIvCeO0wvwiBBJuNcLMUjPm6EDAQFQICJgaBXSZq cwMIgisAjo8ABw8HkAAIfg8LjhMBiGMLD3CIBZJwcg4FoA8KAHSGjwESrAAKGWJrDAddBp0Dkid6 DrEBegN+rW0PCGsDYrGnBa2xyNEDsQa3CYhlD2x +AmOMFwcDfH5ayGsoY4uBAn7EDoILY5LIDw1j A4wEgJ8TBgywA6hsTCwCyCTReQBOXocGy4qtE2YhnqB8Dho8uJfHIQUF +v10SSAQ0tADNQMmNKyj bwyhcBoULLiVCEEtYHoExUsAQAy3e/ cspHPAoEvEMQxqjQFAYWk3YWoWwcRAL1gkkzjn6NRzE+gY DAdOOWA6qSOqp2QlODV4wODUC3rMhQrAZWKsCvECNBDDQMK9iL8uGEBEwcApBacMYQRl8KSDW +KE 6rMpoYFZbiYa44UZscs9kI9FBpx0jvC7UMh4sSNgGGbjtmsiV4CjcdVMPRPnDIOJcdrXSXr66mE8 h6zYNao0e5JtgdfxhVnZ7Pboc +PvVQhGTct2l8EtPibjLK399G5DjxfwBEO1AJMdFZ6YLXrvguZY kfRdkJObv79/ChEAADs= - I have parsed it in the message object and i can easily get header fields and payload. Now I want to send mail using google app engine mail api. I have make an attachment like this - fileTuple =[] fileTuple.insert(0, fileName) fileTuple.insert(1,payload) attachments = [] attachments.append(fileTuple) emailMsgObj = mail.EmailMessage() emailMsgObj.sender = sen...@gmail.com emailMsgObj.to = ton...@gmail.com emailMsgObj.subject = subject emailMsgObj.body = bodyText emailMsgObj.attachments = attachments_in emailMsgObj.send() -- BUT when i get the mail and see the attached file , the image is not correct, dont get image. So first of all i m getting post request and image is encoded in base64, as we can see from the above. But when i want to attach it in the mail, should i need to decode it, or siple send the payload. i have tried different things, i tried encoding, decoding, and original payload, but i never get the image in the mail. If anybody has tried to send image as attachment, please suggest me some good way and if possible send me code. thnks --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Not sending Mail using Google Apps code of Sending Mail
Hi, You can send mail on development server locally. For this download sendmail utiltiy for windows. extract it in you local directory and set the path varible in environment varible for root folder. e.g. (c:\sendmail) Now in the extracted folder sendmail, we can see sendmail.ini. Infact we have to change this. Change following parameters: --- smtp_server=smtp.gmail.com smtp_port=465 default_domain=yourdomain.com auth_username=n...@yourdomain.com auth_password=yourpassword And while running dev server specify the parameter -- enable_sendmail e.g dev_appserver.py --enable_sendmail --- On Jun 9, 10:18 am, S K sksk...@gmail.com wrote: Hi Google Apps Group, I am trying to send an Email using Google App Engine for that I am using following code dev_appserver.py --smtp_host=smtp.gmail.com --smtp_port=25 --smtp_user= sksk...@gmail.com --smtp_password= temp I am using gmail as host server the program is executing with out errors but its not send the Email to particular id(sksk...@gmail.com), The Python code I have used from google.appengine.api import mail mail.send_mail(sender=(sksk...@gmail.com, to=Albert Johnson x...@gmail.com, subject=Your account has been approved, body= Dear Albert: Your example.com account has been approved. You can now visithttp://www.example.com/and sign in using your Google Account to access new features. Please let us know if you have any questions. The example.com Team ) Please help on this what could be the prob. Thanks in advance --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Odd memcache behavior across multiple app instances
Hi, I'm experiencing some rather strange behavior from memcache. I think I'm getting different data back from memcache using the same key The issue I see is that when putting load on our application, even simple memcache queries are starting to return inconsistant data. When running the same request from multiple threads, I get different results. I've made a very simple example, that runs fine on 1-200 threads, but if I put load on the app (with some heavier requests) just before I run my test, I see different values coming back from memcache using the same keys. def get_new_memcahce_value(key, old_value): old_val = memcache.get(key) new_val = uuid.uuid4().get_hex() reply = 'good' if old_val and old_value != : if old_val != old_value: reply = 'fail' new_val = old_value else: if not memcache.set(key, new_val): reply = 'set_fail' else: reply = 'new' if not memcache.set(key,new_val): reply = 'set_fail' return (new_value, reply) and from a server posting requests: def request_loop(id): key = test:key_%d % id val, reply = get_new_memcahce_value(key, ) for i in range(20): val,reply = get_new_memcahce_value(key, val) Is memcache working localy on a cluster of servers, and if an application is spawned over more clusters, memcache will not propergate data to the other clusters? I hope someone can clarify this, since I can't find any post regarding this issue. Is there some way to get the application instance ID, so I can do some more investigation on the subject? Thanks Kim --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: removing ACSID cookie expiration, ACSID-reset
Disregard the above. Without an 'expires=', this cookie will expire when the browser closes (not desired). I attempted to length the ACSID cookie expiration, but I believe GAE specifically removes my headers before sending to the client in this case. --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] not able to upload app nor able to change default version
Deploying new version. 2009-06-17 23:57:24,171 ERROR appcfg.py:1241 An unexpected error occurred. Abort ing. Traceback (most recent call last): File F:\Program Files\Google\google_appengine\google\appengine\tools \appcfg.p y, line 1234, in DoUpload self.Commit() File F:\Program Files\Google\google_appengine\google\appengine\tools \appcfg.p y, line 1106, in Commit self.Deploy() File F:\Program Files\Google\google_appengine\google\appengine\tools \appcfg.p y, line 1134, in Deploy version=self.version) File F:\Program Files\Google\google_appengine\google\appengine\tools \appengin e_rpc.py, line 344, in Send f = self.opener.open(req) File F:\Python25\lib\urllib2.py, line 387, in open response = meth(req, response) File F:\Python25\lib\urllib2.py, line 498, in http_response 'http', request, response, code, msg, hdrs) File F:\Python25\lib\urllib2.py, line 425, in error return self._call_chain(*args) File F:\Python25\lib\urllib2.py, line 360, in _call_chain result = func(*args) File F:\Python25\lib\urllib2.py, line 506, in http_error_default raise HTTPError(req.get_full_url(), code, msg, hdrs, fp) HTTPError: HTTP Error 503: Service Unavailable Rolling back the update. Error 503: --- begin server output --- Try Again (503) An unexpected failure has occurred. Please try again. --- end server output --- --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: DataBase in GoogleApp
Can any one point for the best practice with regards to the DB ? Adding some kind of fields to my data models is possible in order to be able to know what data belongs where. But it seems to me that the more data you have on that single application the more queries will be inefficient. Cause if I have stored 4 objects in my DB and one user has only 500 objects in the DB , I will need to go over all the 40,000 objects to find His data ? is that correct ? Would it be more correct to upload several instances of the application ? one for each user ? Eddie. From: google-appengine@googlegroups.com [mailto:google-appeng...@googlegroups.com] On Behalf Of Nick Johnson (Google) Sent: Wednesday, June 17, 2009 12:01 PM To: google-appengine@googlegroups.com Subject: [google-appengine] Re: DataBase in GoogleApp Hi Thegremlin, On Wed, Jun 17, 2009 at 10:12 AM, Thegremlin eddie.har...@gmail.com wrote: Hello all , I am trying to get started with GoogleApp and i am reading as much as i can about it. I have a few questions about it. 1. I understood that the DB is not a treditional DB. In the example (shoutout) they show how to store and get data from the DB, however what if i need to store different data in different DB's ? Only one datastore is available per application. You can shard your data by adding fields to your models, and querying based on them. Lets take for example an application that handles expences of a any google user. user A uses it and then comes user B and user C etc... after while user A loggs in again and wants to get his data, this means i need to go over all the data in the data store in order to see wich records are user A records ... is there a way to open a DB for a user ... so when the user runs this application system will only know user A data ? 2. I dont come from webapp programming background, and i find the tutorials and docs very very hard to understand, are there any other resources ? You may like http://www.appenginelearn.com/. The author, Charles Severance, has recently published a very good book based on this content, called Using Google App Engine. -Nick Johnson thanks , -- Nick Johnson, App Engine Developer Programs Engineer Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number: 368047 --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Odd memcache behavior across multiple app instances
To clarify a bit: one thread from our server runs one loop with a unique id. each requests stores a value in memcache and returns that value. In the following request, the memcache is queried if the value just written, is in the cache. This sometimes fail. My fear is that it is due to the requests changing to another app instance and then suddently getting wrong data. instance 1 + + instance 2 -- Hope this clears out the example above a bit Cheers Kim On Jun 17, 7:52 pm, Kim Riber kimsteenri...@gmail.com wrote: Hi, I'm experiencing some rather strange behavior from memcache. I think I'm getting different data back from memcache using the same key The issue I see is that when putting load on our application, even simple memcache queries are starting to return inconsistant data. When running the same request from multiple threads, I get different results. I've made a very simple example, that runs fine on 1-200 threads, but if I put load on the app (with some heavier requests) just before I run my test, I see different values coming back from memcache using the same keys. def get_new_memcahce_value(key, old_value): old_val = memcache.get(key) new_val = uuid.uuid4().get_hex() reply = 'good' if old_val and old_value != : if old_val != old_value: reply = 'fail' new_val = old_value else: if not memcache.set(key, new_val): reply = 'set_fail' else: reply = 'new' if not memcache.set(key,new_val): reply = 'set_fail' return (new_value, reply) and from a server posting requests: def request_loop(id): key = test:key_%d % id val, reply = get_new_memcahce_value(key, ) for i in range(20): val,reply = get_new_memcahce_value(key, val) Is memcache working localy on a cluster of servers, and if an application is spawned over more clusters, memcache will not propergate data to the other clusters? I hope someone can clarify this, since I can't find any post regarding this issue. Is there some way to get the application instance ID, so I can do some more investigation on the subject? Thanks Kim --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Kay - Another web framework on app engine - beta version
Hi Neal, Thanks for your question. On Thu, Jun 18, 2009 at 2:49 AM, NealWalters nealwalt...@nealwalters.com wrote: Can you please tell us the features and benefits of your framework? I don't Jinja2 or Werkzeug - so what's in it for developers? Werkzeug has a powerful debugger. Kay contains a bit modified version of Werkzeug's debugger. So you can use the most of the features of this debugger. When an unhandled exception occurs, the debugger will activate and be displayed on your browser window. In this window, you can explore the local namespace at the time when the exception occured. It will help you debug easily. Though the debugger only runs on dev server, it doesn't matter in most cases. Jinja2 is very similar to Django's template system. In my opinion, Jinja2 is more flexible and easier to use. The defferences of the both is on the Jinja2's website. Please check the URL bellow for more details. http://jinja.pocoo.org/2/documentation/switching#django Let's talk about Kay itself. Kay has these features: * A middleware mechanism same as Django's * Full stack i18n feature * powerfull Werkzeug's debugger * powerfull shell tools * easy to start (see README) Having said that, as Ritesh said, it might be a better option for you to look into Glashammer for now if you're looking for a framework for production use. Because Kay is still under beta release, Glashammer has a longer history than Kay, and it is well documented etc.. 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Kay - Another web framework on app engine - beta version
On Thu, Jun 18, 2009 at 4:06 AM, Takashi Matsuo matsuo.taka...@gmail.com wrote: Hi Neal, Thanks for your question. On Thu, Jun 18, 2009 at 2:49 AM, NealWalters nealwalt...@nealwalters.com wrote: Can you please tell us the features and benefits of your framework? I don't Jinja2 or Werkzeug - so what's in it for developers? Werkzeug has a powerful debugger. Kay contains a bit modified version of Werkzeug's debugger. So you can use the most of the features of this debugger. When an unhandled exception occurs, the debugger will activate and be displayed on your browser window. In this window, you can explore the local namespace at the time when the exception occured. It will help you debug easily. Though the debugger only runs on dev server, it doesn't matter in most cases. Jinja2 is very similar to Django's template system. In my opinion, Jinja2 is more flexible and easier to use. The defferences of the both is on the Jinja2's website. Please check the URL bellow for more details. http://jinja.pocoo.org/2/documentation/switching#django Let's talk about Kay itself. Kay has these features: * A middleware mechanism same as Django's * Full stack i18n feature * powerfull Werkzeug's debugger * powerfull shell tools * easy to start (see README) Having said that, as Ritesh said, it might be a better option for you to look into Glashammer for now if you're looking for a framework for production use. Because Kay is still under beta release, Glashammer has a longer history than Kay, and it is well documented etc.. Regards, I should have mentioned this. Please don't forget Waldemar's app-engine-patch[1]. In my opinion, app-engine-patch is the one of the best option for production use for now. 1. http://code.google.com/p/app-engine-patch/ -- Takashi Matsuo --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] confusing template documentation on webpy.org
I noticed that two templetor documents exist: 1. http://webpy.org/docs/0.3/templetor 2. http://webpy.org/templetor The second page is out of date, as it describes 0.2 templates. This caused me some frustration in trying to figure out why my exported globals weren't working with Google App Engine (the template.Template.globals['len'] = len style of 0.2 does not work with compiled templates). Can we bring these two document back into sync? A simple way is to copy the newer document on top of he older document, but that's not really ideal. I guess the second page should really be an alias (or redirect) to first. -k --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Server Error
If you upload a new major version, it doesn't become the default version until you switch to it. There's no need to test with a different application id (well, unless you expect to be writing code so bad it breaks your production data horribly.) On Jun 17, 9:25 am, NealWalters nealwalt...@nealwalters.com wrote: I would suggest using version control if you want to be able to easily revert,... I'm using Mercurial, so I have that. I think my point is that when you upload a new version of an app, you really have no idea if it's going to work or not. So your site could be down while you are trying to upload a previous version. If I understand correctly, the the version number, I can just click a checkbox on the admin console and go back to a prior version within seconds. I think the best practice would be to create a second Google App, then upload the code there, test the application, then re-upload to the main site. Any opinions on that? I assume each application has an entire separately database correct? (Isn't the app name part of the keys to all the entities?) Google Apps do not provide support for App Engine. So what is the official support path for App Engine? Why did the error I got have a link to Google/Apps support? If I open a ticket with them, would they a least email me back with a message that says they don't support something? Thanks, Neal Walters --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Accessing SimpleDB from App Engine - any latency issues?
Thanks, Nick. Yes I am already using a similar approach to paging. I did not know about this module, which probably can replace what i have written so will definitely look into that. Btw, the link to the pager.py file is down so here the google cache link to the required class: http://74.125.155.132/search?q=cache:23LPEeO2oHIJ:https://bitbucket.org/moraes/appengine/src/tip/pager.py+PagerQuery+app+enginecd=5hl=enct=clnkgl=usclient=firefox-a I also grabbed the source and put it on drop.io: http://drop.io/pagerquery Regarding the zip based filtering I was trying to do something like: assuming I know the lat/long of the zip code of interest then this simple query will get nearby zip codes (square region), which can be filtered down by using a great circle algo... SELECT * FROM ZipData WHERE latitude = x AND latitude = y AND longitude = r AND longitude = s As I understand the above query cannot be executed on Datastore due to the multiple inequality operator use. If you think there is another way to get the same result (that will work with datstore), please let me know. #2: Yup, I meant just keeping the session. I did not think of memcache and was just thinking about how the application itself is cached. It makes more sense just to use memcache so I can control the process. Thanks for your suggestion. -e On Jun 17, 3:09 am, Nick Johnson (Google) nick.john...@google.com wrote: Hi ecognium, On Wed, Jun 17, 2009 at 9:17 AM, ecognium ecogn...@gmail.com wrote: Hi All, My application requires certain types of query features that are not currently possible through Datastore API and so I am thinking of moving the query side of things to Anazon's SimpleDB (mainly use it to return keys). For example, I would like to return entities that are within a certain zip code range while supporting pagination. Since key based paging takes the only inequality operator allowed, it is not possible to do the traditional zip based retrieval. Even without paging there is no way to have two inequality operator. Hence the switch to SimpleDB -- let me know if there are any nice workarounds for zip-based data retrieval. You may want to check this out:http://appengine-cookbook.appspot.com/recipe/efficient-paging-for-any... I have two questions for App Engine members: 1. Have you noticed any major latency issues in accessing SimpleDB from App Engine (thinking of using Boto module)? If so, any tips on how to reduce it? I haven't personally used SimpleDB, but the same caveats apply as with any other service accessed over HTTP - latency is dependent on the service and its proximity. 2. When I tested SimpleDB from my dev machine, I noticed SimpleDB takes up to 5 seconds to return results -- most of the time is actually spent in authorizing the request. So I would like to initiate the connection once in the app and reuse the object for all subsequent queries. Where should I do this initialization? I am not familiar with how App Engine caches the application. Should I create a amazon_login.py, include the logic for auth (two lines of code) and import the file in my code? or do I need to put it in a class and instantiate the class in the same file? When you say initiate the connection once, are you referring to an actual TCP connection, or to a 'session'? I presume the latter, since SimpleDB is HTTP based. urlfetch doesn't let you control the lifetime of the underlying TCP connection for HTTP requests. If you're obtaining an authentication token, though, you can certainly do that on the first request to a given runtime, and then cache the result in a global or class-level variable, or cache it in memcache and reuse it across multiple instances. -Nick Johnson --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Accessing SimpleDB from App Engine - any latency issues?
On 17/06/2009, ecognium ecogn...@gmail.com wrote: Thanks, Nick. Yes I am already using a similar approach to paging. I did not know about this module, which probably can replace what i have written so will definitely look into that. Btw, the link to the pager.py file is down so here the google cache link to the required class: http://74.125.155.132/search?q=cache:23LPEeO2oHIJ:https://bitbucket.org/moraes/appengine/src/tip/pager.py+PagerQuery+app+enginecd=5hl=enct=clnkgl=usclient=firefox-a I also grabbed the source and put it on drop.io: http://drop.io/pagerquery Regarding the zip based filtering I was trying to do something like: assuming I know the lat/long of the zip code of interest then this simple query will get nearby zip codes (square region), which can be filtered down by using a great circle algo... SELECT * FROM ZipData WHERE latitude = x AND latitude = y AND longitude = r AND longitude = s As I understand the above query cannot be executed on Datastore due to the multiple inequality operator use. If you think there is another way to get the same result (that will work with datstore), please let me know. http://groups.google.com/group/google-appengine/search?hl=engroup=google-appengineq=geohash+OR+mutinyqt_g=Search+this+group #2: Yup, I meant just keeping the session. I did not think of memcache and was just thinking about how the application itself is cached. It makes more sense just to use memcache so I can control the process. Thanks for your suggestion. -e On Jun 17, 3:09 am, Nick Johnson (Google) nick.john...@google.com wrote: Hi ecognium, On Wed, Jun 17, 2009 at 9:17 AM, ecognium ecogn...@gmail.com wrote: Hi All, My application requires certain types of query features that are not currently possible through Datastore API and so I am thinking of moving the query side of things to Anazon's SimpleDB (mainly use it to return keys). For example, I would like to return entities that are within a certain zip code range while supporting pagination. Since key based paging takes the only inequality operator allowed, it is not possible to do the traditional zip based retrieval. Even without paging there is no way to have two inequality operator. Hence the switch to SimpleDB -- let me know if there are any nice workarounds for zip-based data retrieval. You may want to check this out:http://appengine-cookbook.appspot.com/recipe/efficient-paging-for-any... I have two questions for App Engine members: 1. Have you noticed any major latency issues in accessing SimpleDB from App Engine (thinking of using Boto module)? If so, any tips on how to reduce it? I haven't personally used SimpleDB, but the same caveats apply as with any other service accessed over HTTP - latency is dependent on the service and its proximity. 2. When I tested SimpleDB from my dev machine, I noticed SimpleDB takes up to 5 seconds to return results -- most of the time is actually spent in authorizing the request. So I would like to initiate the connection once in the app and reuse the object for all subsequent queries. Where should I do this initialization? I am not familiar with how App Engine caches the application. Should I create a amazon_login.py, include the logic for auth (two lines of code) and import the file in my code? or do I need to put it in a class and instantiate the class in the same file? When you say initiate the connection once, are you referring to an actual TCP connection, or to a 'session'? I presume the latter, since SimpleDB is HTTP based. urlfetch doesn't let you control the lifetime of the underlying TCP connection for HTTP requests. If you're obtaining an authentication token, though, you can certainly do that on the first request to a given runtime, and then cache the result in a global or class-level variable, or cache it in memcache and reuse it across multiple instances. -Nick Johnson -- 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: DataBase in GoogleApp
On Jun 17, 2:35 pm, Eddie Harari eddie.har...@gmail.com wrote: But it seems to me that the more data you have on that single application the more queries will be inefficient. Cause if I have stored 4 objects in my DB and one user has only 500 objects in the DB , I will need to go over all the 40,000 objects to find His data ? is that correct ? No. The database queries on indexes, it doesn't scan the entire table. The time it takes to fetch entities returned by a query is entirely dependent on the number of entities you fetch, not on the size of your database. --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Not sending Mail using Google Apps code of Sending Mail
Not sure, but you might need to use the variable html instead of body if you want a hyperlink (or any HTML formatting) in your email message. Neal --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Attchment in mail message.
If you are sending from local-dev-app-server, then you might be having the same problem I was - see this message: http://groups.google.com/group/google-appengine-python/browse_thread/thread/114baca865d09595#. My problem went away when I ran on the real live Google App Server environment. My dev environment sent an email, but it looks like the headers were all messed up. Never got a resolution for how to solve on dev environment. Neal Walters --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Datastore Performance Test: Java runs 5 times SLOWER than Python ?
I think the problem might be related to the fact that you're using JDO on the java side and the low level datastore api on the python side. The JDO implementation does not efficiently batch multiple updates/ inserts. I would guess that you will see much closer performance if the low level api is used, since your results for inserting one entity at a time seem to be comparable. http://groups.google.com/group/google-appengine-java/browse_thread/thread/e717f7ba37749ea4/ab034e0d30653f47?lnk=gstq=batch+insert#ab034e0d30653f47 On Jun 17, 11:10 am, 风笑雪 kea...@gmail.com wrote: You can see the first compare result of adding: Java: Time of save 100 entities: 7765ms06-17 07:32AM 49.846 /add 200 7862ms 10825cpu_ms 9453api_cpu_ms 0kb java.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.187.1 Safari/531.0,gzip(gfe) Python: Time of save 100 entities: 1210.234880ms 06-17 07:35AM 26.595 /add 200 1458ms 9649cpu_ms 9453api_cpu_ms 0kb python.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.187.1 Safari/531.0,gzip(gfe) 2009/6/18 Alkis Evlogimenos ('Αλκης Ευλογημένος) evlogime...@gmail.com All the puts() are slower in Java it seems. 2009/6/17 Nick Johnson (Google) nick.john...@google.com Hi keakon, Where do you get your figure of '5 times slower' from? The statistics you posted demonstrate Python being slightly slower than Java, not the other way around (and certainly not by a factor of 5). -Nick Johnson On Wed, Jun 17, 2009 at 4:44 PM, 风笑雪 kea...@gmail.com wrote: I did a datastore performance test with both Java (using JDO) and Python tonight, and find Python is much faster than Java. I defined a simple model which contains only 1 string property, and you can find the code in the attachment. There are two links for you to test: http://java.latest.gaejava.appspot.com http://python.latest.gaejava.appspot.com I found the cpu time and api cpu time are almost the same between Java and Python, the only difference is response time. I don't know whether it's a defect of Java version or problem of my code (it's the first time I write app in Java), can anybody check it? This is my test result: Java: Add: Time of save 1 entity: 54ms Time of create 100 entities: 0ms Time of save 100 entities: 7765ms Time of save 1 entity: 52ms Time of create 100 entities: 0ms Time of save 100 entities: 7059ms Time of save 1 entity: 61ms Time of create 100 entities: 0ms Time of save 100 entities: 7384ms Update: Time of fetch 1 entity: 222ms Time of update 1 entity: 25ms Time of fetch 100 entities: 40ms Time of update 100 entities: 7098ms Time of fetch 1 entity: 33ms Time of update 1 entity: 25ms Time of fetch 100 entities: 35ms Time of update 100 entities: 8038ms Time of fetch 1 entity: 14ms Time of update 1 entity: 24ms Time of fetch 100 entities: 34ms Time of update 100 entities: 8425ms Delete: Time of fetch 1 entity: 16ms Time of delete 1 entity: 82ms Time of fetch 100 entities: 36ms Time of delete 100 entities: 7655ms Time of fetch 1 entity: 93ms Time of delete 1 entity: 104ms Time of fetch 100 entities: 45ms Time of delete 100 entities: 9825ms Time of fetch 1 entity: 176ms Time of delete 1 entity: 98ms Time of fetch 100 entities: 60ms Time of delete 100 entities: 7784ms Log: 06-17 07:34AM 51.575 /del 200 8145ms 7970cpu_ms 6823api_cpu_ms 0kb java.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.187.1Safari/531.0,gzip(gfe) 06-17 07:34AM 36.326 /del 200 10094ms 8083cpu_ms 6823api_cpu_ms 0kb java.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.187.1Safari/531.0,gzip(gfe) 06-17 07:34AM 21.466 /del 200 7819ms 7942cpu_ms 6823api_cpu_ms 0kb java.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.187.1Safari/531.0,gzip(gfe) 06-17 07:34AM 02.319 /update 200 8519ms 13189cpu_ms 11929api_cpu_ms 0kb java.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.187.1Safari/531.0,gzip(gfe) 06-17 07:33AM 48.282 /update 200 8159ms 13105cpu_ms 11929api_cpu_ms 0kb java.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.187.1Safari/531.0,gzip(gfe) 06-17 07:33AM 35.099 /update 200 7426ms 13664cpu_ms 11929api_cpu_ms 0kb java.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko)
[google-appengine] Re: DataBase in GoogleApp
1. If i have the USA phone directory as my DB, and NY has 10,000,000 records in it. or i have a DB with only NY 10,000,000 records without the rest of the USA. searching for all NY records will take same time at both cases ? 2. The other reason to split the DB is security, should a bug or a google app exploit will be available you dont want your customer A records be viewed by customer B. the application runs in somekind of sandbox but if the DB is one any small error in program can expose everything to everyone. Eddie. On Wed, Jun 17, 2009 at 4:22 PM, Wooble geoffsp...@gmail.com wrote: On Jun 17, 2:35 pm, Eddie Harari eddie.har...@gmail.com wrote: But it seems to me that the more data you have on that single application the more queries will be inefficient. Cause if I have stored 4 objects in my DB and one user has only 500 objects in the DB , I will need to go over all the 40,000 objects to find His data ? is that correct ? No. The database queries on indexes, it doesn't scan the entire table. The time it takes to fetch entities returned by a query is entirely dependent on the number of entities you fetch, not on the size of your database. --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] HTTPS
Hi, I have a test site on appspot, which I CNAME redirect to from my own domain name, something like www.blah.com - blah.appspot.com. Everything works perfectly (I'm using Java as well as GWT). Now, I would like to POST a login form to an HTTPS URL within my appspot domain so I can authenticate users. Something like https://blah.appspot.com/login. This would happen as a form action, so not visible to the user, just plumbing behind the scenes. So, is it possible to do this? Or will enabling SSL on my site disable normal HTTP requests, or disable the ability for me to CNAME redirect from from my real domain to http://blah.appspot.com ? Cheers, Shane --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] DataBase in GoogleApp
Eddie Harari writes: 1. If i have the USA phone directory as my DB, and NY has 10,000,000 records in it. or i have a DB with only NY 10,000,000 records without the rest of the USA. searching for all NY records will take same time at both cases ? From my understanding, they will both run in the same time since the sharding on data is based on the indexes and not on the databases/tables. In this case the index is the same for NY so it should run in the same time. 2. The other reason to split the DB is security, should a bug or a google app exploit will be available you dont want your customer A records be viewed by customer B. the application runs in somekind of sandbox but if the DB is one any small error in program can expose everything to everyone. I don't have any real comments about this, but it feels to me like you're seeing this as a typical DB server isolated in one part, with all the data in the same place. One of the advantages provided by the Datastore is that that idea is no longer true. -- Federico Builes --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: GData on GAE - to create a new empty spreadsheet - 401
Hi Neal, Since you are using ProgrammaticLogin, you'll need to change the default behavior of the client object on App Engine. The run_on_appengine command assumes that you you going to be using browser based auth and that the user will be signed in to your app. As you mentioned, you are hard coding the credentials, and it doesn't matter who is signed in to the app, so you should change: gdata.alt.appengine.run_on_appengine(client) to: gdata.alt.appengine.run_on_appengine(client, store_tokens=False, single_user_mode=True) This is explaned at the bottom of the first article you mentioned (Appendix: ClientLogin): http://code.google.com/appengine/articles/gdata.html Also, you only need to call run_on_appengine once for each instance of a GDataService. You don't need to call it on other types of objects like entries, categories, etc. Please let me know how it goes, Jeff On Tue, Jun 9, 2009 at 1:30 PM, NealWalters nealwalt...@nealwalters.comwrote: I've been studying these two samples I found in another post in this forum: http://code.google.com/appengine/articles/gdata.html http://code.google.com/appengine/articles/more_google_data.html and trying to blend them with this example that creates a new empty spreadsheet: http://code.google.com/apis/documents/docs/1.0/developers_guide_python.html#CreatingAnEmptyDocument I'm running on Windows local app/dev/server. Unlike the first two sites above, I don't want to use the userid/pass of the guy logged on, I want to put a spreadsheet in our special admin account, then perhaps share it with another a third user. My logon seems to run okay. If I put a bad password, I get this error BadAuthentication: Incorrect username or password On the client.ProgrammaticLogin()) which is what I would expect. - CODE: - class TestGDocAPI(webapp.RequestHandler): def get(self): client = gdata.service.GDataService() # Tell the client that we are running in single user mode, and it should not # automatically try to associate the token with the current user then store # it in the datastore. gdata.alt.appengine.run_on_appengine(client, store_tokens=False, single_user_mode=True) client.email = 'myuserid' client.password = 'mypass' # To request a ClientLogin token you must specify the desired service using # its service name. # wise is the codename for GoogleDocs - see this page: # http://ruscoe.net/google/google-account-service-names/ client.service = 'wise' # Request a ClientLogin token, which will be placed in the client's current_token member. client.ProgrammaticLogin() gdata.alt.appengine.run_on_appengine(client) new_entry = gdata.GDataEntry() gdata.alt.appengine.run_on_appengine(new_entry) new_entry.title = gdata.atom.Title (text='MyBlankSpreadsheetTitle') category = gdata.atom.Category (scheme=gdata.docs.service.DATA_KIND_SCHEME, term=gdata.docs.service.SPREADSHEET_KIND_TERM) gdata.alt.appengine.run_on_appengine(category) new_entry.category.append(category) created_entry = client.Post(new_entry, 'http://docs.google.com/ feeds/documents/private/fullhttp://docs.google.com/%0Afeeds/documents/private/full ') - ERROR: - Traceback (most recent call last): File c:\program files\google\google_appengine\google\appengine\ext \webapp\__init__.py, line 498, in __call__ handler.get(*groups) File d:\GoogleAppEngine\3WCloud.com.Provisioning\provisioning.py, line 1143, in get created_entry = client.Post(new_entry, 'http://docs.google.com/ feeds/documents/private/fullhttp://docs.google.com/%0Afeeds/documents/private/full ') File c:\program files\google\google_appengine\gdata\service.py, line 1178, in Post media_source=media_source, converter=converter) File c:\program files\google\google_appengine\gdata\service.py, line 1298, in PostOrPut 'reason': server_response.reason, 'body': result_body} RequestError: {'status': 401, 'body': 'HTML\nHEAD\nTITLEToken invalid/TITLE\n/HEAD\nBODY BGCOLOR=#FF TEXT=#00 \nH1Token invalid/H1\nH2Error 401/H2\n/BODY\n/HTML\n', 'reason': ''} Line 1143 is this line (the last line of the code above) created_entry = client.Post(new_entry, 'http://docs.google.com/feeds/ documents/private/fullhttp://docs.google.com/feeds/%0Adocuments/private/full ') When I go to that users docs, no spreadsheet was created. I'm also unclear when I have to use the gdata.alt.appengine.run_on_appengine(xxx) syntax. I get the same error when I remove all of them except the first one. Not sure if my feed is not well formed, or
[google-appengine] Re: Encrypt data and decrypted in appengine
Hi timo, Have you considered making requests to your app over HTTPS? You can configure specific URLs to require that requests be made over a secure socket layer channel (SSL). Python: http://code.google.com/appengine/docs/python/config/appconfig.html#Secure_URLs Java: http://code.google.com/appengine/docs/java/config/appconfig.html#Enabling_Secure_URLs__SSL_ There are also crypto libraries available on the server, but it sounds like HTTPS will provide what you are looking for without you having to write any crypto code. Happy coding, Jeff On Tue, Jun 16, 2009 at 10:37 PM, timo timo.chartow...@googlemail.comwrote: I want to send encrypted data to my appengine and never did anything similar. Also I am more of a programming beginner. The encryption should take place from a Java client. This data I send to the appengine where it should be decrypted and then used to answer the request. It can be a very 'light' encryption, so rather quick then hard to break. Can somebody perhaps provide me with two code snippets to do such a task on the Java and Python side? Thank you very much :) --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] GAE Django Helper: howto pass arguments to dev_appserver.py
Hi there, This is more of a GAE Django Helper (http://code.google.com/appengine/ articles/appengine_helper_for_django.html) question - I'm using a OS X 10.5 and the problem is that every now and then, when I fire up the dev appserver, all my data is gone. Turns out others have brought this up before, and this is due to the /tmp directory changing from time to time - thus when it changes, the dev_appserver can't find it. However, I am using the GAE Django helper, thus I don't run dev_appserver.py directly, but instead I run manage.py (modified Django helper version). So I can't pass it the --datastore_path argument. I'm new at Python, I tried tracing the call from manage.py but didn't see where I can pass this arg to dev_appserver.py How do I get the helper to specify the datastore location, so that I don't keep losing my data when I fire up my local dev server? Thanks Jay --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Dynamic Access to Entity data in python
This is probably fairly simple to do but I'm fairly new to GAE and am having trouble with it. Say I run a query on an entity like so: query1=Client.all() query1.fetch(1) client=query1[0] selecting the first entry in the entity Client. Then I iterate through the list of fields like so: for column in Client.fields(): How can I access the data for that column in the row given by the query1 object? This is a fairly simple thing in Java with most databases but I'm using Python and GAE.. I know I can access each element individually like this: first_name = client.first_name etc however I need to be able to dynamically reference the name of the field ..something like this col_name = first_name first_name_var = client.get(col_name) 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Server Error (500) while uploading index definitions (again)
Hi Nick, I followed the directions, in fact I deleted all indexes, but the problem persists: $ ../out/google_appengine/appcfg.py update_indexes ../out/site Uploading index definitions. Error 500: --- begin server output --- Server Error (500) A server error has occurred. --- end server output --- $ Could you also please provide a root cause and how to avoid this? This is happening on a test site but if it were to happen on my production site it would have been be a disaster. --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Datastore Performance Test: Java runs 5 times SLOWER than Python ?
I don't know how to use low level api because the document is too short to understand. But as Ross says, JDO doesn't support batch operation at this moment, so I'll try to also use JPA and low level api to do this test, but I don't think anybody would like use low level api to build his app. BTW, there is only one datastore api in Python, and I don't think it's low level since its rather easier to use than JDO. However, I really like the Google Plugin for Eclipse, it's a wonderful tool. 2009/6/18 Peter Recore peterrec...@gmail.com I think the problem might be related to the fact that you're using JDO on the java side and the low level datastore api on the python side. The JDO implementation does not efficiently batch multiple updates/ inserts. I would guess that you will see much closer performance if the low level api is used, since your results for inserting one entity at a time seem to be comparable. http://groups.google.com/group/google-appengine-java/browse_thread/thread/e717f7ba37749ea4/ab034e0d30653f47?lnk=gstq=batch+insert#ab034e0d30653f47 On Jun 17, 11:10 am, 风笑雪 kea...@gmail.com wrote: You can see the first compare result of adding: Java: Time of save 100 entities: 7765ms06-17 07:32AM 49.846 /add 200 7862ms 10825cpu_ms 9453api_cpu_ms 0kb java.latest.gaejava.appspot.comMozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.187.1 Safari/531.0,gzip(gfe) Python: Time of save 100 entities: 1210.234880ms 06-17 07:35AM 26.595 /add 200 1458ms 9649cpu_ms 9453api_cpu_ms 0kb python.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.187.1 Safari/531.0,gzip(gfe) 2009/6/18 Alkis Evlogimenos ('Αλκης Ευλογημένος) evlogime...@gmail.com All the puts() are slower in Java it seems. 2009/6/17 Nick Johnson (Google) nick.john...@google.com Hi keakon, Where do you get your figure of '5 times slower' from? The statistics you posted demonstrate Python being slightly slower than Java, not the other way around (and certainly not by a factor of 5). -Nick Johnson On Wed, Jun 17, 2009 at 4:44 PM, 风笑雪 kea...@gmail.com wrote: I did a datastore performance test with both Java (using JDO) and Python tonight, and find Python is much faster than Java. I defined a simple model which contains only 1 string property, and you can find the code in the attachment. There are two links for you to test: http://java.latest.gaejava.appspot.com http://python.latest.gaejava.appspot.com I found the cpu time and api cpu time are almost the same between Java and Python, the only difference is response time. I don't know whether it's a defect of Java version or problem of my code (it's the first time I write app in Java), can anybody check it? This is my test result: Java: Add: Time of save 1 entity: 54ms Time of create 100 entities: 0ms Time of save 100 entities: 7765ms Time of save 1 entity: 52ms Time of create 100 entities: 0ms Time of save 100 entities: 7059ms Time of save 1 entity: 61ms Time of create 100 entities: 0ms Time of save 100 entities: 7384ms Update: Time of fetch 1 entity: 222ms Time of update 1 entity: 25ms Time of fetch 100 entities: 40ms Time of update 100 entities: 7098ms Time of fetch 1 entity: 33ms Time of update 1 entity: 25ms Time of fetch 100 entities: 35ms Time of update 100 entities: 8038ms Time of fetch 1 entity: 14ms Time of update 1 entity: 24ms Time of fetch 100 entities: 34ms Time of update 100 entities: 8425ms Delete: Time of fetch 1 entity: 16ms Time of delete 1 entity: 82ms Time of fetch 100 entities: 36ms Time of delete 100 entities: 7655ms Time of fetch 1 entity: 93ms Time of delete 1 entity: 104ms Time of fetch 100 entities: 45ms Time of delete 100 entities: 9825ms Time of fetch 1 entity: 176ms Time of delete 1 entity: 98ms Time of fetch 100 entities: 60ms Time of delete 100 entities: 7784ms Log: 06-17 07:34AM 51.575 /del 200 8145ms 7970cpu_ms 6823api_cpu_ms 0kb java.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.187.1Safari/531.0,gzip(gfe) 06-17 07:34AM 36.326 /del 200 10094ms 8083cpu_ms 6823api_cpu_ms 0kb java.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko) Chrome/3.0.187.1Safari/531.0,gzip(gfe) 06-17 07:34AM 21.466 /del 200 7819ms 7942cpu_ms 6823api_cpu_ms 0kb java.latest.gaejava.appspot.com Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/531.0 (KHTML, like Gecko)
[google-appengine] Getting matching index values for keys-only queries
Hi, I'd like to do a prefix query (as described in the FAQ) on a string property, and retrieve only the matching keys. However, I'd still like to know the actual matching property values (which I don't know -- I only know the prefix). Thanks, Manuel --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Testing GAE application best practices
Thank you for the reply. But this is not what I am looking for. I am looking for a unit (and functional) testing framework that work nicely with GAE. Much like how Django has a built-in unit and functional (test client) testing, a good set of related assertions, etc. ~KEGan On Jun 18, 1:52 am, NealWalters nealwalt...@nealwalters.com wrote: I just learned about the Gaebar - Backup and Restore utility this morning:http://aralbalkan.com/1784. No time to use it yet, but they have a nice 16:42 minute video. It talks about moving data between a staging and production environment, so they might answer part of your question. Neal Walters --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Testing GAE application best practices
Kegan writes: Thank you for the reply. But this is not what I am looking for. I am looking for a unit (and functional) testing framework that work nicely with GAE. Much like how Django has a built-in unit and functional (test client) testing, a good set of related assertions, etc. Take a look at nose-gae, it's kind of simple but it has worked for me so far: http://code.google.com/p/nose-gae/ -- Federico --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Ran out of my app slot
Hi, I ran out of my 10 app slots. Could anyone raise my app slot limit? matsuo.taka...@gmail.com Thanks in advance. -- Takashi Matsuo --~--~-~--~~~---~--~~ 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---