[google-appengine] Re: Shorten keys on URLs

2009-06-17 Thread djidjadji

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

2009-06-17 Thread PYD

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

2009-06-17 Thread Alex Popescu

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?

2009-06-17 Thread ecognium

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'

2009-06-17 Thread Josh Cronemeyer
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

2009-06-17 Thread Takashi Matsuo

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'

2009-06-17 Thread Nick Johnson (Google)
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?

2009-06-17 Thread Nick Johnson (Google)
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

2009-06-17 Thread Nick Johnson (Google)
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..?

2009-06-17 Thread Nick Johnson (Google)
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

2009-06-17 Thread Nick Johnson (Google)
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

2009-06-17 Thread Nick Johnson (Google)
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)

2009-06-17 Thread Nick Johnson (Google)
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

2009-06-17 Thread NealWalters


 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

2009-06-17 Thread Tibor Piri

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.

2009-06-17 Thread Ben Nevile

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.

2009-06-17 Thread Nick Johnson (Google)
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.

2009-06-17 Thread Ben Nevile

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

2009-06-17 Thread vivpuri

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

2009-06-17 Thread NealWalters

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.

2009-06-17 Thread Nick Johnson (Google)
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'

2009-06-17 Thread joshuacronemeyer

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

2009-06-17 Thread Jonathan

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

2009-06-17 Thread HaiColon

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

2009-06-17 Thread Charlie Zhu

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

2009-06-17 Thread Thegremlin

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

2009-06-17 Thread chinki

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 ?

2009-06-17 Thread Nick Johnson (Google)
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

2009-06-17 Thread Nick Johnson (Google)
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

2009-06-17 Thread Nick Johnson (Google)
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

2009-06-17 Thread Nick Johnson (Google)
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

2009-06-17 Thread Nick Johnson (Google)
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

2009-06-17 Thread johnfromCalgary

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 ?

2009-06-17 Thread 'Αλκης Ευλογημένος
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 ?

2009-06-17 Thread 风笑雪
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

2009-06-17 Thread stelg

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

2009-06-17 Thread Nick Johnson (Google)
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

2009-06-17 Thread Federico Builes

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

2009-06-17 Thread Nick Johnson (Google)
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..?

2009-06-17 Thread codingGirl

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

2009-06-17 Thread Nick Johnson (Google)
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

2009-06-17 Thread Kegan

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

2009-06-17 Thread codingGirl

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

2009-06-17 Thread Ritesh Nadhani

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

2009-06-17 Thread NealWalters

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

2009-06-17 Thread NealWalters

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

2009-06-17 Thread Ritesh Nadhani

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

2009-06-17 Thread Takashi Matsuo

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

2009-06-17 Thread Ritesh Nadhani

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

2009-06-17 Thread Ritesh Nadhani

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.

2009-06-17 Thread Irfan Younas

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

2009-06-17 Thread Irfan Younas

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

2009-06-17 Thread Kim Riber

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

2009-06-17 Thread John Tantalo

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

2009-06-17 Thread dhaval

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

2009-06-17 Thread Eddie Harari
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

2009-06-17 Thread Kim Riber

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

2009-06-17 Thread Takashi Matsuo

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

2009-06-17 Thread Takashi Matsuo

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

2009-06-17 Thread K

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

2009-06-17 Thread Wooble

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?

2009-06-17 Thread ecognium

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?

2009-06-17 Thread Barry Hunter

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

2009-06-17 Thread Wooble



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

2009-06-17 Thread NealWalters

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.

2009-06-17 Thread NealWalters

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 ?

2009-06-17 Thread Peter Recore

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

2009-06-17 Thread Eddie Harari
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

2009-06-17 Thread Shane

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

2009-06-17 Thread Federico Builes

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

2009-06-17 Thread Jeff S (Google)
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

2009-06-17 Thread Jeff S (Google)
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

2009-06-17 Thread Jay Liew

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

2009-06-17 Thread Brendan

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)

2009-06-17 Thread gae123

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 ?

2009-06-17 Thread 风笑雪
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

2009-06-17 Thread Manuel

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

2009-06-17 Thread Kegan

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

2009-06-17 Thread Federico Builes

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

2009-06-17 Thread Takashi Matsuo

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