Re: [google-appengine] Any plans to implement something like: "Select myProp From myModel"?

2010-03-31 Thread Jeff Schnitzer
On Wed, Mar 31, 2010 at 9:57 PM, Robert Kluin  wrote:
>
>  Although I have not personally tested with _really_ large entities,
> I see very little difference in performance based on the size of the
> entity.  We have some models with 20 or 30 string and float fields
> that seem to perform similar to models with 5 or 6 string fields.
> There have been a number of threads discussing this in the past.  I
> think a post had some benchmarks in December or January.

This has been my experience as well.  Additional indexes cost a lot,
but additional unindexed properties seem to be almost "free" in the
datastore.

I would ask of anyone asking for select at a property level:  Have you
run any performance tests of your application with big vs small
entities?  Are you sure it matters?

Jeff

-- 
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-appeng...@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] Intercepting all HTTP calls on webapp/django

2010-03-31 Thread dhruvbird
Hello,
  I was wondering how to best intercept all HTTP calls to my appengine
app. From what I read here (http://blog.notdot.net/2010/01/Webapps-on-
App-Engine-part-1-Routing), it seems as if defining my own router and
then delegating the real work to the webapp/django router seems like a
fair thing to do.
  I want the solution to be framweork independent. Please let me know
if anyone has an easier/cleaner solution.

Regards,
-Dhruv.

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



Re: [google-appengine] Any plans to implement something like: "Select myProp From myModel"?

2010-03-31 Thread Robert Kluin
Hey Eli,
  Just a quick comment.  On some of our models we are now doing
something similar to what you suggest.  On models with a lot of
unindexed fields we add a text (or blob) property, then we serialize a
dict of values and store in that field. We do this especially when the
fields are not always needed.  In testing, I am pleased with the
results so far.

  Also, if we know that certain groups of fields will usually be
needed together, then we put them in a group together. Then we save
the cost of deserializing everything unless we need to.  This seems to
be working well.

  Although I have not personally tested with _really_ large entities,
I see very little difference in performance based on the size of the
entity.  We have some models with 20 or 30 string and float fields
that seem to perform similar to models with 5 or 6 string fields.
There have been a number of threads discussing this in the past.  I
think a post had some benchmarks in December or January.

Robert





On Wed, Mar 31, 2010 at 10:18 PM, Eli Jones  wrote:
> Oh.. and, I guess, the quick workaround for something like this would be to
> have your Model be defined like so:
> class myModel(db.Model):
>     myBigProp = db.BlobProperty()
> and then you would have myBigProp be a compressed Model like so:
> class myBigPropClass(db.Model):
>     prop1 = db.prop()
>     prop2 = db.prop()
>     ...
>     prop100 = db.prop()
> so.. when you constructed a myModel entity you did something like this
> (naturally, this is pseudo code):
> myProps = myBigPropClass(prop1 = blah, ..., prop100 = blah100)
> compress = zlib.compress(db.model_to_protobuf(myProps).Encode(),9)
> model = myModel(myBigProp = compress)
> model.put()
> I'm not sure if I can directly compress a protobuf... but that would be the
> general idea.. mainly, the cost you spend on compression, decompression
> isn't near as much as the cost you take on puts on the non-compressed data
> or on the transfer during the get possibly..
> Naturally, I would need to test this performance.. I know the put() cost of
> the compressed data is much better in total.. I just haven't checked what
> sort of hit you take on gets.
> But, if you have really big entities.. you benefit greatly from the
> compression. (Since the datastore is somewhere else.. and not right there
> with your app instance)
> Anyway, in the IO talk linked to above, Mr. Slatkin mentions that they are
> looking into implementing a way to get specific properties with a get() ..
> so.. it was on the radar.
>
> On Wed, Mar 31, 2010 at 10:47 PM, Eli Jones  wrote:
>>
>> First off, that is a good talk.  And I like it very much.  But, it is
>> still speaking of the workaround one can do to create a multi-part Model to
>> query some part by __key__ and then grab the specific parent that contains
>> the only props you want.  You are still limited to partitioning your Models
>> out into these specific parent, child relationships.. and then keeping track
>> of those relationships and issuing queries based on said relationships.
>> The particular case I'm talking about is one where you have a Model with
>> 100 properties that are all unindexed... so.. you only have an index on the
>> key_name.
>> You can define multiple Models that are related.. but you will still have
>> to deal with an index on the key_name for each Model (I am assuming).
>> I want to know if it would ever be possible to have a single Model.. with
>> a single key_name with one index.. and then be able to selectively pull
>> particular properties for that Model..
>> so.. if I want to update any three random properties, I issue a query that
>> requests those properties.. updates them.. and puts() the entity back to the
>> datastore.. only having to update those specific properties.  In that
>> situation, you wouldn't have the overhead of getting and putting properties
>> that weren't going to be touched.
>> Primarily, I'm wondering if there will ever be a way to avoid the overhead
>> of pulling all properties for a Model when I only want to update a few of
>> them.  (The bandwidth used significantly impacts latency on the get() and
>> the put() if the entities are fairly large)
>>
>> On Wed, Mar 31, 2010 at 10:09 PM, Raymond Ling 
>> wrote:
>>>
>>> I recommend this video (Youtube
>>> Link: http://www.youtube.com/watch?v=AgaL6NGpkB8&playnext_from=TL&videos=geh1T1kPh70).
>>>
>>> The simple way to avoid loading big property one time is to design the
>>> property as owned-relationship.
>>> To keep the consistency between the object in your memory (maybe use
>>> memcache) and entity in datastore, it's better to load all properties one
>>> time (except for big properties that may cause performance issue).
>>> On Thu, Apr 1, 2010 at 8:52 AM, Eli Jones  wrote:

 it would be nice to get only a few properties for an entity.. and then
 update those entities and the .put() would only need to send the updated
 values over the wire
>>>
>>>
>>> --
>>> Best Regards,
>>> From Ray

[google-appengine] Weird error with SDK's datastore viewer

2010-03-31 Thread dhruvbird
If I run this code in the interactive console

from google.appengine.ext import db

str="""class Test2(db.Expando):
  dummy=db.IntegerProperty(required=True,indexed=False,default=0)
"""


exec(str)
str1="""t = Test2()
t.hello="world"
t.put()
"""
exec(str1)

All requests to view any model in the datastore returns this error:

Traceback (most recent call last):
  File "C:\Program Files\Google\google_appengine\google\appengine\ext
\webapp\__init__.py", line 507, in __call__
handler.get(*groups)
  File "C:\Program Files\Google\google_appengine\google\appengine\ext
\admin\__init__.py", line 671, in get
value = DataType.get(raw_value).format(raw_value)
  File "C:\Program Files\Google\google_appengine\google\appengine\ext
\admin\__init__.py", line 904, in format
return str(value)
TypeError: 'str' object is not callable


Does anyone know how I can fix it?

Regards,
-Dhruv.

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



Re: [google-appengine] Any plans to implement something like: "Select myProp From myModel"?

2010-03-31 Thread Eli Jones
Oh.. and, I guess, the quick workaround for something like this would be to
have your Model be defined like so:

class myModel(db.Model):
myBigProp = db.BlobProperty()

and then you would have myBigProp be a compressed Model like so:

class myBigPropClass(db.Model):
prop1 = db.prop()
prop2 = db.prop()
...
prop100 = db.prop()

so.. when you constructed a myModel entity you did something like this
(naturally, this is pseudo code):

myProps = myBigPropClass(prop1 = blah, ..., prop100 = blah100)
compress = zlib.compress(db.model_to_protobuf(myProps).Encode(),9)
model = myModel(myBigProp = compress)
model.put()

I'm not sure if I can directly compress a protobuf... but that would be the
general idea.. mainly, the cost you spend on compression, decompression
isn't near as much as the cost you take on puts on the non-compressed data
or on the transfer during the get possibly..

Naturally, I would need to test this performance.. I know the put() cost of
the compressed data is much better in total.. I just haven't checked what
sort of hit you take on gets.

But, if you have really big entities.. you benefit greatly from the
compression. (Since the datastore is somewhere else.. and not right there
with your app instance)

Anyway, in the IO talk linked to above, Mr. Slatkin mentions that they are
looking into implementing a way to get specific properties with a get() ..
so.. it was on the radar.


On Wed, Mar 31, 2010 at 10:47 PM, Eli Jones  wrote:

> First off, that is a good talk.  And I like it very much.  But, it is still
> speaking of the workaround one can do to create a multi-part Model to query
> some part by __key__ and then grab the specific parent that contains the
> only props you want.  You are still limited to partitioning your Models out
> into these specific parent, child relationships.. and then keeping track of
> those relationships and issuing queries based on said relationships.
>
> The particular case I'm talking about is one where you have a Model with
> 100 properties that are all unindexed... so.. you only have an index on the
> key_name.
>
> You can define multiple Models that are related.. but you will still have
> to deal with an index on the key_name for each Model (I am assuming).
>
> I want to know if it would ever be possible to have a single Model.. with a
> single key_name with one index.. and then be able to selectively pull
> particular properties for that Model..
>
> so.. if I want to update any three random properties, I issue a query that
> requests those properties.. updates them.. and puts() the entity back to the
> datastore.. only having to update those specific properties.  In that
> situation, you wouldn't have the overhead of getting and putting properties
> that weren't going to be touched.
>
> Primarily, I'm wondering if there will ever be a way to avoid the overhead
> of pulling all properties for a Model when I only want to update a few of
> them.  (The bandwidth used significantly impacts latency on the get() and
> the put() if the entities are fairly large)
>
>
> On Wed, Mar 31, 2010 at 10:09 PM, Raymond Ling wrote:
>
>> I recommend this 
>> video
>>  (Youtube
>> Link:
>> http://www.youtube.com/watch?v=AgaL6NGpkB8&playnext_from=TL&videos=geh1T1kPh70
>> ).
>>
>> The simple way to avoid loading big property one time is to design the
>> property as 
>> owned-relationship
>> .
>>
>> To keep the consistency between the object in your memory (maybe use
>> memcache) and entity in datastore, it's better to load all properties one
>> time (except for big properties that may cause performance issue).
>>
>> On Thu, Apr 1, 2010 at 8:52 AM, Eli Jones  wrote:
>>
>>> it would be nice to get only a few properties for an entity.. and then
>>> update those entities and the .put() would only need to send the updated
>>> values over the wire
>>
>>
>>
>>
>> --
>> Best Regards,
>> From Raymond Ling
>>
>> --
>> 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-appeng...@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.
>>
>
>

-- 
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-appeng...@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] @Google: Can't delete two old versions of my app

2010-03-31 Thread esilver
Hi - This is the same issue as:

http://groups.google.com/group/google-appengine/browse_thread/thread/b22977b26a769028/49817ecfd8a80975?lnk=gst&q=server+error+occured+delete#49817ecfd8a80975


For my app, version v1-03 and v1-10 of husbandmaterialapp are un-
deletable - a server error occurs when I attempt to delete either one
of them. The former is more than a month old.

Is there any fix for this or do they have to stay around as zombie
versions?

Thanks,
-Eric

-- 
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-appeng...@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: Any plans to implement something like: "Select myProp From myModel"?

2010-03-31 Thread Tim Hoffman
Honestly can't see it ever happening.

You have to realise you aren't using a traditional database.

So with the current api based on db.Model you are dealing with
entities. End gql is predicated on that model.
zope's zodb works in a similiar fashion.

You would have to come up with a different hi-level api or use the
lowlevel api yourself to achieve this sort of thing.

T

On Apr 1, 10:47 am, Eli Jones  wrote:
> First off, that is a good talk.  And I like it very much.  But, it is still
> speaking of the workaround one can do to create a multi-part Model to query
> some part by __key__ and then grab the specific parent that contains the
> only props you want.  You are still limited to partitioning your Models out
> into these specific parent, child relationships.. and then keeping track of
> those relationships and issuing queries based on said relationships.
>
> The particular case I'm talking about is one where you have a Model with 100
> properties that are all unindexed... so.. you only have an index on the
> key_name.
>
> You can define multiple Models that are related.. but you will still have to
> deal with an index on the key_name for each Model (I am assuming).
>
> I want to know if it would ever be possible to have a single Model.. with a
> single key_name with one index.. and then be able to selectively pull
> particular properties for that Model..
>
> so.. if I want to update any three random properties, I issue a query that
> requests those properties.. updates them.. and puts() the entity back to the
> datastore.. only having to update those specific properties.  In that
> situation, you wouldn't have the overhead of getting and putting properties
> that weren't going to be touched.
>
> Primarily, I'm wondering if there will ever be a way to avoid the overhead
> of pulling all properties for a Model when I only want to update a few of
> them.  (The bandwidth used significantly impacts latency on the get() and
> the put() if the entities are fairly large)
>
> On Wed, Mar 31, 2010 at 10:09 PM, Raymond Ling wrote:
>
>
>
> > I recommend this 
> > video
> >  (Youtube
> > Link:
> >http://www.youtube.com/watch?v=AgaL6NGpkB8&playnext_from=TL&videos=ge...
> > ).
>
> > The simple way to avoid loading big property one time is to design the
> > property as 
> > owned-relationship
> > .
>
> > To keep the consistency between the object in your memory (maybe use
> > memcache) and entity in datastore, it's better to load all properties one
> > time (except for big properties that may cause performance issue).
>
> > On Thu, Apr 1, 2010 at 8:52 AM, Eli Jones  wrote:
>
> >> it would be nice to get only a few properties for an entity.. and then
> >> update those entities and the .put() would only need to send the updated
> >> values over the wire
>
> > --
> > Best Regards,
> > From Raymond Ling
>
> > --
> > 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-appeng...@googlegroups.com.
> > To unsubscribe from this group, send email to
> > google-appengine+unsubscr...@googlegroups.com > e...@googlegroups.com>
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/google-appengine?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appeng...@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.



Re: [google-appengine] Any plans to implement something like: "Select myProp From myModel"?

2010-03-31 Thread Eli Jones
First off, that is a good talk.  And I like it very much.  But, it is still
speaking of the workaround one can do to create a multi-part Model to query
some part by __key__ and then grab the specific parent that contains the
only props you want.  You are still limited to partitioning your Models out
into these specific parent, child relationships.. and then keeping track of
those relationships and issuing queries based on said relationships.

The particular case I'm talking about is one where you have a Model with 100
properties that are all unindexed... so.. you only have an index on the
key_name.

You can define multiple Models that are related.. but you will still have to
deal with an index on the key_name for each Model (I am assuming).

I want to know if it would ever be possible to have a single Model.. with a
single key_name with one index.. and then be able to selectively pull
particular properties for that Model..

so.. if I want to update any three random properties, I issue a query that
requests those properties.. updates them.. and puts() the entity back to the
datastore.. only having to update those specific properties.  In that
situation, you wouldn't have the overhead of getting and putting properties
that weren't going to be touched.

Primarily, I'm wondering if there will ever be a way to avoid the overhead
of pulling all properties for a Model when I only want to update a few of
them.  (The bandwidth used significantly impacts latency on the get() and
the put() if the entities are fairly large)

On Wed, Mar 31, 2010 at 10:09 PM, Raymond Ling wrote:

> I recommend this 
> video
>  (Youtube
> Link:
> http://www.youtube.com/watch?v=AgaL6NGpkB8&playnext_from=TL&videos=geh1T1kPh70
> ).
>
> The simple way to avoid loading big property one time is to design the
> property as 
> owned-relationship
> .
>
> To keep the consistency between the object in your memory (maybe use
> memcache) and entity in datastore, it's better to load all properties one
> time (except for big properties that may cause performance issue).
>
> On Thu, Apr 1, 2010 at 8:52 AM, Eli Jones  wrote:
>
>> it would be nice to get only a few properties for an entity.. and then
>> update those entities and the .put() would only need to send the updated
>> values over the wire
>
>
>
>
> --
> Best Regards,
> From Raymond Ling
>
> --
> 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-appeng...@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.
>

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



Re: [google-appengine] Any plans to implement something like: "Select myProp From myModel"?

2010-03-31 Thread Raymond Ling
I recommend this
video
(Youtube
Link:
http://www.youtube.com/watch?v=AgaL6NGpkB8&playnext_from=TL&videos=geh1T1kPh70
).

The simple way to avoid loading big property one time is to design the
property as 
owned-relationship
.

To keep the consistency between the object in your memory (maybe use
memcache) and entity in datastore, it's better to load all properties one
time (except for big properties that may cause performance issue).

On Thu, Apr 1, 2010 at 8:52 AM, Eli Jones  wrote:

> it would be nice to get only a few properties for an entity.. and then
> update those entities and the .put() would only need to send the updated
> values over the wire




-- 
Best Regards,
>From Raymond Ling

-- 
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-appeng...@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: Looking for a library to sanitize input, transcode to UTF-8

2010-03-31 Thread Tim Hoffman
Hi

Have a look at webob 
http://pythonpaste.org/webob/reference.html#unicode-variables
and note if your running as an API server your
api consumers should probably be specifying the encoding in the their
headers.

Also its difficult to blindly encode something to UTF-8 as what they
send may not in fact be possible to encode
without stripping or translating some values to something else
entirely (for instance if some one send you UCS4)
which is something you will have to deal with on a case by case basis
for different encodings.

You could then document which encoding schemes you directly support in
your api, and then get the consumers to
set the content type charsets correctly.

Just my 2c worth

Rgds

T


On Apr 1, 5:36 am, Brian  wrote:
> The problem with that is that our system is an API server, so we can't
> assume that submitters are actually sending UTF. They usually are, but
> sometimes not.
>
> On Mar 29, 4:07 pm, Joshua Smith  wrote:
>
>
>
> > If you specify UTF-8 on the form page with a meta tag, you should only get 
> > UTF-8 in the input you receive.  At least that's been my experience.
>
> > On Mar 29, 2010, at 5:40 PM, Brian wrote:
>
> > > Hello,
>
> > > I am looking for a library or function that does the following (my one
> > > complaint about Python /GAE is that it does not provide an easy way to
> > > sanitize and transcode input to UTF). I have a function that does this
> > > pretty reliably, except when it breaks, and was wondering who else has
> > > dealt with this issue.
>
> > > HINT TO FRIENDLY GOOGLE PEOPLE: it would be really nice if you offered
> > > an option to sanitize incoming form data so your app does not need to
> > > worry about encodings. You'd just assume you're being given properly
> > > decoded utf-8, with placeholder characters where decoding failed.
> > > Failing that, it'd be nice to have a sanitizer function you can call
> > > that knows how to test for and transcode from the most common
> > > encodings into utf-8. I know Python supports a lot of different
> > > encodings, but it can be very time consuming to track this type of bug
> > > because it tends to happen sporadically when an usual string shows up
> > > in a request.
>
> > > Thanks,
>
> > > Brian McConnell
>
> > > --
> > > 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-appeng...@googlegroups.com.
> > > To unsubscribe from this group, send email to 
> > > google-appengine+unsubscr...@googlegroups.com.
> > > For more options, visit this group 
> > > athttp://groups.google.com/group/google-appengine?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appeng...@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] Stuck Index?

2010-03-31 Thread Patrick Twohig
I have an index that appears to be stuck, how do I unstick it?

-- 
Patrick H. Twohig.

Namazu Studios
P.O. Box 34161
San Diego, CA 92163-4161

-- 
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-appeng...@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: Any guarantees on time sync among servers?

2010-03-31 Thread kazunori_279
Hi Ikai,

Oops, I pasted a wrong link. Here's my code:

http://code.google.com/p/sth-samples/source/browse/trunk/sth-samples/src/jp/co/sth/samples/service/CounterService.java

By "Log" I do not mean the log messages, but actual entities which
works as journals of the counter updates (or whatever you write on
memcache). Instead of updating existing entities (which can be a
bottleneck), it would be scalable to add new entities to gain the
durability.

Thanks,

Kaz

On Apr 1, 2:24 am, "Ikai L (Google)"  wrote:
> That link goes to a groups post.
>
> I wouldn't use logging for this. Right now we are saving logs for what looks
> like 90 days, but this may change such that logging is only until you run
> out of space. Also - you can't programmatically filter on values in logs at
> the application level easily.
>
>
>
> On Tue, Mar 30, 2010 at 8:12 PM, kazunori_279  wrote:
> > FYI, here's my another proposal as an alternative to the sharded
> > counter: LogCounter.
>
> >http://groups.google.com/group/google-appengine/browse_thread/thread/...
>
> > The basic idea is to use MemcacheService#increment to get unique and
> > sequential integer values, while writing logs for them to obtain a
> > durability. While it should be as durable as the option 4, while it
> > should be more scalable and faster because the log writing can be in
> > parallel and there's no point of race condition.
>
> > Thanks,
>
> > Kaz
>
> > On Mar 27, 11:10 pm, jbdhl  wrote:
> > > Nice points. I actually think approach 2) will suffice. Thanks alot!
>
> > --
> > 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-appeng...@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.
>
> --
> Ikai Lan
> Developer Programs Engineer, Google App 
> Enginehttp://googleappengine.blogspot.com|http://twitter.com/app_engine

-- 
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-appeng...@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] Any plans to implement something like: "Select myProp From myModel"?

2010-03-31 Thread Eli Jones
Are there any plans to (or is this even feasible) to implement the ability
to pull only specific properties for an entity from a model?

Say I have a Model like so:

class myModel(db.Model):
myProp = db.StringProperty()
myProp2 = db.ListProperty()


And.. I want to do a myModel.get_by_key_name(mykey).. but I only want the
StringProperty... will there every by a way to specify that I just want to
have the myProp value returned?

So, say myModel had 20 properties.. but for any given query, you only wanted
2 or 3 of those properties.. will there ever be  away to restrict the
returned value to contain only those specific properties?

Then.. it would be nice to get only a few properties for an entity.. and
then update those entities and the .put() would only need to send the
updated values over the wire..

Or, is this a fundamental limitation of the datastore.. or is this already
happening behind the scenes?

Thanks for information.

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



Re: [google-appengine] Re: i18n GWT 2.0 application reaching the max files limit

2010-03-31 Thread Jeff Schnitzer
On Wed, Mar 31, 2010 at 12:31 PM, Stephen  wrote:
>
> On Mar 29, 9:25 pm, Jeff Schnitzer  wrote:
>>
>> The good news is that requests for *.html and *.jpg are treated as
>> static files, so they get cached on google's CDN.  You won't be
>> reading from the jar all the time.
>
> Are you sure?  Is this documented anywhere?
>

That's what the documentation seems to say, although I haven't tested it:

http://code.google.com/appengine/docs/java/gettingstarted/staticfiles.html

and

http://code.google.com/appengine/docs/java/config/appconfig.html#Static_Files_and_Resource_Files

Jeff

-- 
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-appeng...@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: Looking for a library to sanitize input, transcode to UTF-8

2010-03-31 Thread Brian
The problem with that is that our system is an API server, so we can't
assume that submitters are actually sending UTF. They usually are, but
sometimes not.

On Mar 29, 4:07 pm, Joshua Smith  wrote:
> If you specify UTF-8 on the form page with a meta tag, you should only get 
> UTF-8 in the input you receive.  At least that's been my experience.
>
> On Mar 29, 2010, at 5:40 PM, Brian wrote:
>
> > Hello,
>
> > I am looking for a library or function that does the following (my one
> > complaint about Python /GAE is that it does not provide an easy way to
> > sanitize and transcode input to UTF). I have a function that does this
> > pretty reliably, except when it breaks, and was wondering who else has
> > dealt with this issue.
>
> > HINT TO FRIENDLY GOOGLE PEOPLE: it would be really nice if you offered
> > an option to sanitize incoming form data so your app does not need to
> > worry about encodings. You'd just assume you're being given properly
> > decoded utf-8, with placeholder characters where decoding failed.
> > Failing that, it'd be nice to have a sanitizer function you can call
> > that knows how to test for and transcode from the most common
> > encodings into utf-8. I know Python supports a lot of different
> > encodings, but it can be very time consuming to track this type of bug
> > because it tends to happen sporadically when an usual string shows up
> > in a request.
>
> > Thanks,
>
> > Brian McConnell
>
> > --
> > 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-appeng...@googlegroups.com.
> > To unsubscribe from this group, send email to 
> > google-appengine+unsubscr...@googlegroups.com.
> > For more options, visit this group 
> > athttp://groups.google.com/group/google-appengine?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appeng...@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] Appstats caused java OutOfMemoryError - heap

2010-03-31 Thread Jake
I have a rather large and intense sorting process that runs
periodically.  When I enabled Appstats, this process started to fail
with the following trace.

When I disabled Appstats, it went back to normal.

I really liked Appstats, too. sigh.

03-31 02:05PM 56.204
Uncaught exception from servlet
java.lang.OutOfMemoryError: Java heap space
at
com.google.appengine.repackaged.com.google.protobuf.ByteString.toByteArray(ByteString.java:
173)
at
com.google.appengine.repackaged.com.google.protobuf.CodedOutputStream.writeBytesNoTag(CodedOutputStream.java:
356)
at
com.google.appengine.repackaged.com.google.protobuf.CodedOutputStream.writeBytes(CodedOutputStream.java:
200)
at com.google.appengine.api.memcache.MemcacheServicePb
$MemcacheSetRequest$Item.writeTo(MemcacheServicePb.java:1568)
at
com.google.appengine.repackaged.com.google.protobuf.CodedOutputStream.writeGroupNoTag(CodedOutputStream.java:
333)
at
com.google.appengine.repackaged.com.google.protobuf.CodedOutputStream.writeGroup(CodedOutputStream.java:
172)
at com.google.appengine.api.memcache.MemcacheServicePb
$MemcacheSetRequest.writeTo(MemcacheServicePb.java:1980)
at
com.google.appengine.repackaged.com.google.protobuf.AbstractMessageLite.toByteArray(AbstractMessageLite.java:
36)
at
com.google.appengine.api.memcache.MemcacheServiceImpl.makeSyncCall(MemcacheServiceImpl.java:
170)
at
com.google.appengine.api.memcache.MemcacheServiceImpl.putAll(MemcacheServiceImpl.java:
420)
at
com.google.appengine.api.memcache.MemcacheServiceImpl.putAll(MemcacheServiceImpl.java:
459)
at
com.google.appengine.tools.appstats.MemcacheWriter.persist(MemcacheWriter.java:
264)
at
com.google.appengine.tools.appstats.MemcacheWriter.commit(MemcacheWriter.java:
177)
at
com.google.appengine.tools.appstats.AppstatsFilter.doFilter(AppstatsFilter.java:
94)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
com.google.apphosting.utils.servlet.ParseBlobUploadFilter.doFilter(ParseBlobUploadFilter.java:
97)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
com.google.apphosting.runtime.jetty.SaveSessionFilter.doFilter(SaveSessionFilter.java:
35)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:
43)
at org.mortbay.jetty.servlet.ServletHandler
$CachedChain.doFilter(ServletHandler.java:1157)
at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:
388)
at
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:
216)
at
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:
182)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:
765)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:
418)
at
com.google.apphosting.runtime.jetty.AppVersionHandlerMap.handle(AppVersionHandlerMap.java:
238)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:
152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:
542)
at org.mortbay.jetty.HttpConnection
$RequestHandler.headerComplete(HttpConnection.java:923)
at
com.google.apphosting.runtime.jetty.RpcRequestParser.parseAvailable(RpcRequestParser.java:
76)

-- 
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-appeng...@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 pay for more than 1,300,000 requests per day?

2010-03-31 Thread Mark
Ok thanks all, makes sense,

Mark

On Mar 31, 9:13 am, Shawn Hartsock  wrote:
> I did some math on this recently for my application but my
> application's numbers won't fit your application. Each application is
> going to have a different performance profile. You need to profile
> your application and determine what it will use in resources. My
> application is very CPU intensive so I've used my CPU quota well
> before ever reaching my request quota.
>
> As I understand it you'll face a recurring charge for data persisted
> above the quota.
>
> http://code.google.com/appengine/docs/quotas.htmlhttp://code.google.com/appengine/docs/quotas.html#Datastore
>
> I used the numbers in that link, along with a few days worth of
> profiling data from my application, coupled with an AdSense revenue
> projection to determine what performance criteria the application
> would have to fulfill to be profitable should it become popular and
> need to scale beyond free. If you are seriously thinking you'll go
> beyond 1.3 million requests a day I suggest you do some math along the
> same lines.
>
>
>
>
>
> On Wed, Mar 31, 2010 at 10:12 AM, Mark  wrote:
> > Hi,
>
> > I'm trying to plan out how much an app could potentially cost to run.
> > I'm looking at the quotas here:
>
> >  http://code.google.com/appengine/docs/quotas.html
>
> > it says we get a free limit of 1,300,000 requests per day, and 1gb of
> > free storage.
>
> > I think my app is going to run over the 1gb storage limit, and the
> > 1,300,000 calls per day limit, but possibly none of the other quotas.
> > How does billing work in this scenario? Can we pay for more than
> > 1,300,000 requests per day? I'm not seeing where this would be charged
> > in the billing screencast here:
>
> >  http://code.google.com/appengine/docs/billing.html
>
> > Also, in general, are there any rough comparisons that have been done
> > that show how much more cost-effective it is to use app engine at
> > different usage rates vs other hosting plans? Just curious,
>
> > 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-appeng...@googlegroups.com.
> > To unsubscribe from this group, send email to 
> > google-appengine+unsubscr...@googlegroups.com.
> > For more options, visit this group 
> > athttp://groups.google.com/group/google-appengine?hl=en.
>
> --
> /** Shawn.Hartsockhttp://hartsock.blogspot.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-appeng...@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.



Re: [google-appengine] gdata client libraries

2010-03-31 Thread Jason (Google)
I'm prepping a Google Data + App Engine article right now which uses the
Java runtime. This is what I have regarding dependencies, specifically for
the Documents List service:

---
To use the Google Data client library (
http://code.google.com/p/gdata-java-client/) in your App Engine application,
you must first copy the JARs listed below from the lib directory of the
gdata-java-client package to your app's war/WEB-INF/lib directory:

gdata-client-1.0.jar
gdata-client-meta-1.0.jar
gdata-core-1.0.jar
gdata-docs-3.0.jar
gdata-docs-meta-3.0.jar
gdata-media-1.0.jar
google-collect-1.0-rc1.jar (from gdata/java/deps)

Once all of these JARs are copied into war/WEB-INF/lib, they must be added
to your app's build path. If you are building your application in Eclipse,
just follow the instructions at
http://www.wikihow.com/Add-JARs-to-Project-Build-Paths-in-Eclipse-%28Java%29.
Otherwise, if you are using the sample ant build.xml file at
http://code.google.com/appengine/docs/java/tools/ant.html#The_Complete_Build_File,
all JARs in war/WEB-INF/lib should be added to your app's build path
automatically.
---

If you are not using the Google Documents List API, you will have to replace
gdata-docs-3.0.jar and gdata-docs-meta-3.0.jar with the JARs for the service
you're trying to use. Also, be sure you're following this FAQ:

http://code.google.com/appengine/kb/java.html#googledata

I hope this helps.
- Jason

On Wed, Mar 31, 2010 at 12:27 AM, Jeevan  wrote:

> hello,
> i am a final year computer science engineering student, am doing a
> project called cloud based teaching system and am using blog as a part
> of application.
> We need include client libraries.Am using Eclipse 3.5.Am not getting
> in which path we need to include those libraries and how.
> please help me.
>
> --
> 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-appeng...@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.
>
>

-- 
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-appeng...@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: i18n GWT 2.0 application reaching the max files limit

2010-03-31 Thread Stephen


On Mar 29, 9:25 pm, Jeff Schnitzer  wrote:
>
> The good news is that requests for *.html and *.jpg are treated as
> static files, so they get cached on google's CDN.  You won't be
> reading from the jar all the time.


Are you sure?  Is this documented anywhere?

-- 
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-appeng...@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: Allow/Deny IP Address

2010-03-31 Thread J
Thanks. This is perfect for our needs.

On Mar 31, 12:58 pm, "Nick Johnson (Google)" 
wrote:
> Hi J,
>
> The recently released DoS API is designed for just 
> this:http://code.google.com/appengine/docs/python/config/dos.html
>
> -Nick Johnson
>
>
>
>
>
> On Wed, Mar 31, 2010 at 5:50 PM, J  wrote:
> > I am looking to restrict my web site and deny access from a set of IP
> > addresses, much like the Apache mod_access module does.
>
> > Would have expected to be able to specify it in app.yaml somehow (GAE/
> > Python). Any suggestions welcome.
>
> > --
> > 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-appeng...@googlegroups.com.
> > To unsubscribe from this group, send email to
> > google-appengine+unsubscr...@googlegroups.com > e...@googlegroups.com>
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/google-appengine?hl=en.
>
> --
> Nick Johnson, Developer Programs Engineer, App Engine Google Ireland Ltd. ::
> Registered in Dublin, Ireland, Registration Number: 368047
> 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-appeng...@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.



Re: [google-appengine] Re: Performance Profiling Url

2010-03-31 Thread Jody Belka
The main annoyance for me, having just tried it, is that the "Google app
engine" logo at the top, which is the only way back to the main stats page
from a request page that I can spot, seems hard-coded to /stats

On 31 March 2010 18:58, Ikai L (Google)  wrote:

> Ah, thanks for bringing this to my attention. Let me look into this.
>
>
> On Wed, Mar 31, 2010 at 10:51 AM, Thomas Johansson wrote:
>
>> There's a number of bugs with this, unless it has been fixed in 1.3.2
>> - Specifically:
>>
>> - The URL logged with each request is hardcoded to /stats.
>> - Some URL's in the appstats UI link to /stats, hardcoded.
>> - Some redirects in appstats are again, hardcoded.
>>
>> I tried overriding the setting in appengine_config.py, but it still
>> did it.
>>
>> On Mar 31, 7:39 pm, "Ikai L (Google)"  wrote:
>> > Yes, the URI is easily configurable via app.yaml.
>> >
>> >
>> >
>> > On Wed, Mar 31, 2010 at 8:38 AM, Jody Belka  wrote:
>> > > So maybe use /debug/stats for the Appstats library?
>> >
>> > > On 31 March 2010 16:32, vivpuri  wrote:
>> >
>> > >> Yes, and i am already using app.appspot.com/stats.* as part of my
>> app
>> >
>> > >> --
>> > >> 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-appeng...@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.
>> >
>> > >  --
>> > > 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-appeng...@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.
>> >
>> > --
>> > Ikai Lan
>> > Developer Programs Engineer, Google App Enginehttp://
>> googleappengine.blogspot.com|http://twitter.com/app_engine
>>
>> --
>> 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-appeng...@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.
>>
>>
>
>
> --
> Ikai Lan
> Developer Programs Engineer, Google App Engine
> http://googleappengine.blogspot.com | http://twitter.com/app_engine
>
> --
> 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-appeng...@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.
>

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



Re: [google-appengine] Re: Huzzah! My App's Finally Live.

2010-03-31 Thread Patrick Twohig
Ikai,

THe Android version is in the works, but the last Android app we put out
bombed miserably so we went to iPhone.  Though since it's Java, I can
probably copy a bunch of the stuff over to the Android client and turn it
around much faster than the iPhone version.  You also may be interested to
note is that we advertised the application at PAXE in Boston this past
weekend.  People definitely responded to the ad and our usage ramped up
quite high and AppEngine kept up with few issues.  On that note, how do I
feature it in the App gallery?

Derek:

It's all Polling over HTTP.   The original design used push notifications
combined with polling, but that ended up not happening and we just went with
polling.  It's not ideal, and I'd like to take the comet approach at some
point to make it a bit more responsive.

Pat.

On Tue, Mar 30, 2010 at 12:23 PM, A1programmer wrote:

> Wow, it looks amazing!
>
> I'm curious as to how you implemented the communication, did you use
> polling over HTTP, or XMPP ?
>
> - Derrick
>
> On Mar 30, 2:47 pm, Patrick Twohig  wrote:
> > Last Thursday my app went live and I thought I'd share it with everybody
> on
> > here.  Despite the frustrations with GAE/J, we're reasonably pleased with
> > it.  If anybody wants to check it out, download iDuel from the AppStore.
> >
> > http://itunes.apple.com/us/app/iduel-online/id360729665?mt=8
> >
> > --
> > Patrick H. Twohig.
> >
> > Namazu Studios
> > P.O. Box 34161
> > San Diego, CA 92163-4161
>
> --
> 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-appeng...@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.
>
>


-- 
Patrick H. Twohig.

Namazu Studios
P.O. Box 34161
San Diego, CA 92163-4161

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



Re: [google-appengine] Re: Performance Profiling Url

2010-03-31 Thread Ikai L (Google)
Ah, thanks for bringing this to my attention. Let me look into this.

On Wed, Mar 31, 2010 at 10:51 AM, Thomas Johansson wrote:

> There's a number of bugs with this, unless it has been fixed in 1.3.2
> - Specifically:
>
> - The URL logged with each request is hardcoded to /stats.
> - Some URL's in the appstats UI link to /stats, hardcoded.
> - Some redirects in appstats are again, hardcoded.
>
> I tried overriding the setting in appengine_config.py, but it still
> did it.
>
> On Mar 31, 7:39 pm, "Ikai L (Google)"  wrote:
> > Yes, the URI is easily configurable via app.yaml.
> >
> >
> >
> > On Wed, Mar 31, 2010 at 8:38 AM, Jody Belka  wrote:
> > > So maybe use /debug/stats for the Appstats library?
> >
> > > On 31 March 2010 16:32, vivpuri  wrote:
> >
> > >> Yes, and i am already using app.appspot.com/stats.* as part of my app
> >
> > >> --
> > >> 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-appeng...@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.
> >
> > >  --
> > > 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.
> >
> > --
> > Ikai Lan
> > Developer Programs Engineer, Google App Enginehttp://
> googleappengine.blogspot.com|http://twitter.com/app_engine
>
> --
> 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-appeng...@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.
>
>


-- 
Ikai Lan
Developer Programs Engineer, Google App Engine
http://googleappengine.blogspot.com | http://twitter.com/app_engine

-- 
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-appeng...@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: html5 cache ... is it working?

2010-03-31 Thread Nash-t
Update:
GAE production and dev both support this ok.
This not really a GAE issue. Sorry for posting here.
It looks like you cannot put spaces before the CACHE MANIFEST line.
With spaces there, the database is created but no files are stored.

This cache.manifest file creates a database and stores the file:
CACHE MANIFEST
# version 10
http://extjs.cachefly.net/builds/ext-cdn-8.js
# /static/ext-all.js
# static/ext-all.js
#ext-all.js


On Mar 29, 11:34 am, Nash-t  wrote:
> Can someone show how to use HTML5 cache with google app engine python?
>
> I have gone through the tutorials and have an app.yaml that looks like
> this
>
> application: secret-valentine
> version: 1
> runtime: python
> api_version: 1
>
> handlers:
>
> - url: /cache.manifest
>   mime_type: text/cache-manifest
>   static_files: cache.manifest
>   upload: cache.manifest
>
> - url: /static
>   static_dir: static
>
> - url: .*
>   script: secret-valentine.py
>   login: required
>
> The cache.manifest file looks like this:
>
> # v9
>
> CACHE MANIFEST
> /static/ext-all.js
> static/ext-all.js
> ext-all.js
>
> NETWORK:
>
> FALLBACK:
>
> And the browser is downloading the cache.manifest file as a manifest
> file.
>
> The problem is that the browser is always going to the server to get
> the ext-all.js file. I want it to get the file out of its local cache.
> One thing I notice in the logs is that the call to cache.manifest
> always comes after the call to ex-all.js. Even when I put the ext-
> all.js script tag at the very bottom of the page.
>
> I saw thishttp://code.google.com/p/googleappengine/issues/detail?id=1050
> and took a close look at this 
> pagehttp://iui-js.appspot.com/samples/music/music.html#_home
> using firebug and I see his cache files are also being requested.
> (Unless firebug is wrong). Maybe I have the wrong expectations of
> html5 and you cannot utilize  a local server?
>
> Anyone familiar with HTML5 cache?
> Thanks,
> -Tim
> Firefox 3.6 on Mac tiger
> GAE (python) 1.3.1 on mac

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



Re: [google-appengine] unable to delete versions of App

2010-03-31 Thread Ikai L (Google)
What's your application ID?

On Tue, Mar 30, 2010 at 10:28 PM, mandar khadilk  wrote:

> http://11.latest.apptadd.appspot.com
> http://18.latest.apptadd.appspot.com
>
> I am not able to delete these versions of my Apps. Any idea how to fix
> it?
> Thanks
> mandar
>
> --
> 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-appeng...@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.
>
>


-- 
Ikai Lan
Developer Programs Engineer, Google App Engine
http://googleappengine.blogspot.com | http://twitter.com/app_engine

-- 
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-appeng...@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: Performance Profiling Url

2010-03-31 Thread Thomas Johansson
There's a number of bugs with this, unless it has been fixed in 1.3.2
- Specifically:

- The URL logged with each request is hardcoded to /stats.
- Some URL's in the appstats UI link to /stats, hardcoded.
- Some redirects in appstats are again, hardcoded.

I tried overriding the setting in appengine_config.py, but it still
did it.

On Mar 31, 7:39 pm, "Ikai L (Google)"  wrote:
> Yes, the URI is easily configurable via app.yaml.
>
>
>
> On Wed, Mar 31, 2010 at 8:38 AM, Jody Belka  wrote:
> > So maybe use /debug/stats for the Appstats library?
>
> > On 31 March 2010 16:32, vivpuri  wrote:
>
> >> Yes, and i am already using app.appspot.com/stats.* as part of my app
>
> >> --
> >> 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-appeng...@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.
>
> >  --
> > 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-appeng...@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.
>
> --
> Ikai Lan
> Developer Programs Engineer, Google App 
> Enginehttp://googleappengine.blogspot.com|http://twitter.com/app_engine

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



Re: [google-appengine] Allow/Deny IP Address

2010-03-31 Thread Ikai L (Google)
That's because it's not a guaranteed blacklist. You're supposed to use the
DoS API to prevent a massive attack, not as an ACL. If you need to
whitelist, you'll have to write the whitelist programmatically as either a
WSGIMiddleware (Python) or ServletFilter (Java).

On Wed, Mar 31, 2010 at 10:40 AM, Tom Wu  wrote:

> Hi Nick,
>
> Only see the blacklist(Deny) syntax in dos.yaml. How about the
> whitelist(Allow) in dos.yaml ?
> The .htaccess of Apache can provide two way ip restriction.
>
> Kind Regards
> Tom Wu
>
>
>
>
> 2010/4/1 Nick Johnson (Google) 
>
> Hi J,
>>
>> The recently released DoS API is designed for just this:
>> http://code.google.com/appengine/docs/python/config/dos.html
>>
>> -Nick Johnson
>>
>>
>> On Wed, Mar 31, 2010 at 5:50 PM, J  wrote:
>>
>>> I am looking to restrict my web site and deny access from a set of IP
>>> addresses, much like the Apache mod_access module does.
>>>
>>> Would have expected to be able to specify it in app.yaml somehow (GAE/
>>> Python). Any suggestions welcome.
>>>
>>> --
>>> 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-appeng...@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.
>>>
>>>
>>
>>
>> --
>> Nick Johnson, Developer Programs Engineer, App Engine Google Ireland Ltd.
>> :: Registered in Dublin, Ireland, Registration Number: 368047
>> 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-appeng...@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.
>>
>
>  --
> 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-appeng...@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.
>



-- 
Ikai Lan
Developer Programs Engineer, Google App Engine
http://googleappengine.blogspot.com | http://twitter.com/app_engine

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



Re: [google-appengine] Allow/Deny IP Address

2010-03-31 Thread Nick Johnson (Google)
Hi Tom,

Whitelisting isn't a function of the DoS API.

-Nick Johnson

On Wed, Mar 31, 2010 at 6:40 PM, Tom Wu  wrote:

> Hi Nick,
>
> Only see the blacklist(Deny) syntax in dos.yaml. How about the
> whitelist(Allow) in dos.yaml ?
> The .htaccess of Apache can provide two way ip restriction.
>
> Kind Regards
> Tom Wu
>
>
>
>
> 2010/4/1 Nick Johnson (Google) 
>
>>  Hi J,
>>
>> The recently released DoS API is designed for just this:
>> http://code.google.com/appengine/docs/python/config/dos.html
>>
>> -Nick Johnson
>>
>>
>> On Wed, Mar 31, 2010 at 5:50 PM, J  wrote:
>>
>>> I am looking to restrict my web site and deny access from a set of IP
>>> addresses, much like the Apache mod_access module does.
>>>
>>> Would have expected to be able to specify it in app.yaml somehow (GAE/
>>> Python). Any suggestions welcome.
>>>
>>> --
>>> 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-appeng...@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.
>>>
>>>
>>
>>
>> --
>> Nick Johnson, Developer Programs Engineer, App Engine Google Ireland Ltd.
>> :: Registered in Dublin, Ireland, Registration Number: 368047
>> 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-appeng...@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.
>>
>
>  --
> 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-appeng...@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.
>



-- 
Nick Johnson, Developer Programs Engineer, App Engine Google Ireland Ltd. ::
Registered in Dublin, Ireland, Registration Number: 368047
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-appeng...@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] gdata client libraries

2010-03-31 Thread Jeevan
hello,
i am a final year computer science engineering student, am doing a
project called cloud based teaching system and am using blog as a part
of application.
We need include client libraries.Am using Eclipse 3.5.Am not getting
in which path we need to include those libraries and how.
please help me.

-- 
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-appeng...@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] Very high latency in some cases to receive the HTTP method calls

2010-03-31 Thread mandar khadilk
Hi,
I am using Java GAE implementation.
I have been experiencing very high latency times in some cases before
an HTTP method gets called in my Servlet. I understand that it may be
the time it takes to make the server context up from a cold state for
my apps. But 5-8 second is very high time.

Any idea how to speedup this time?
-mandar

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



Re: [google-appengine] How to pay for more than 1,300,000 requests per day?

2010-03-31 Thread Shawn Hartsock
I did some math on this recently for my application but my
application's numbers won't fit your application. Each application is
going to have a different performance profile. You need to profile
your application and determine what it will use in resources. My
application is very CPU intensive so I've used my CPU quota well
before ever reaching my request quota.

As I understand it you'll face a recurring charge for data persisted
above the quota.

http://code.google.com/appengine/docs/quotas.html
http://code.google.com/appengine/docs/quotas.html#Datastore

I used the numbers in that link, along with a few days worth of
profiling data from my application, coupled with an AdSense revenue
projection to determine what performance criteria the application
would have to fulfill to be profitable should it become popular and
need to scale beyond free. If you are seriously thinking you'll go
beyond 1.3 million requests a day I suggest you do some math along the
same lines.

On Wed, Mar 31, 2010 at 10:12 AM, Mark  wrote:
> Hi,
>
> I'm trying to plan out how much an app could potentially cost to run.
> I'm looking at the quotas here:
>
>  http://code.google.com/appengine/docs/quotas.html
>
> it says we get a free limit of 1,300,000 requests per day, and 1gb of
> free storage.
>
> I think my app is going to run over the 1gb storage limit, and the
> 1,300,000 calls per day limit, but possibly none of the other quotas.
> How does billing work in this scenario? Can we pay for more than
> 1,300,000 requests per day? I'm not seeing where this would be charged
> in the billing screencast here:
>
>  http://code.google.com/appengine/docs/billing.html
>
> Also, in general, are there any rough comparisons that have been done
> that show how much more cost-effective it is to use app engine at
> different usage rates vs other hosting plans? Just curious,
>
> 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-appeng...@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.
>
>



-- 
/** Shawn.Hartsock http://hartsock.blogspot.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-appeng...@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] When using frames, authentication does not happen....

2010-03-31 Thread sri
Hi,

I am using frames in my html. On left hand, I have signout (I use
google's signout servlet). On the right side is the target. so for
instance:

I have:

left.html

X

Signout


index.html contains:



Now... after uploading the files to appengine site, I navigage through
the secure/addX.html for the first time. It asks me to authenticate.
Then, I signout (which works fine)... but then, when I click on
addX.html, it does not ask me to authenticate again... just executes
the page...

Am I missing something ?


Thanks in advance for the response.

sri

-- 
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-appeng...@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] unable to delete versions of App

2010-03-31 Thread mandar khadilk
http://11.latest.apptadd.appspot.com
http://18.latest.apptadd.appspot.com

I am not able to delete these versions of my Apps. Any idea how to fix
it?
Thanks
mandar

-- 
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-appeng...@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] Moving from Blogger to AppEngine

2010-03-31 Thread David Burns
Hi,

This is probably an extremely stupid question but just want to know
what I am expecting. It is because its moving between Google services
that I am just not 100% sure what to expect where if it were between
different providers I think I know what I would expect

I have a subdomain that i want to move to move from blogger to
appengine.

The CNAME is currenly pointed at ghs.google.com. for blogger and the
CNAME for app engine is the same so is it going to be a simple case of
deleting the custom domain on advanced settings of publishing in "Your
Domain" and saving it and then creating a new URL on Google Apps for
the new AppEngine app?

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



Re: [google-appengine] Allow/Deny IP Address

2010-03-31 Thread Tom Wu
Hi Nick,

Only see the blacklist(Deny) syntax in dos.yaml. How about the
whitelist(Allow) in dos.yaml ?
The .htaccess of Apache can provide two way ip restriction.

Kind Regards
Tom Wu




2010/4/1 Nick Johnson (Google) 

> Hi J,
>
> The recently released DoS API is designed for just this:
> http://code.google.com/appengine/docs/python/config/dos.html
>
> -Nick Johnson
>
>
> On Wed, Mar 31, 2010 at 5:50 PM, J  wrote:
>
>> I am looking to restrict my web site and deny access from a set of IP
>> addresses, much like the Apache mod_access module does.
>>
>> Would have expected to be able to specify it in app.yaml somehow (GAE/
>> Python). Any suggestions welcome.
>>
>> --
>> 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-appeng...@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.
>>
>>
>
>
> --
> Nick Johnson, Developer Programs Engineer, App Engine Google Ireland Ltd.
> :: Registered in Dublin, Ireland, Registration Number: 368047
> 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-appeng...@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.
>

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



Re: [google-appengine] Re: Performance Profiling Url

2010-03-31 Thread Ikai L (Google)
Yes, the URI is easily configurable via app.yaml.

On Wed, Mar 31, 2010 at 8:38 AM, Jody Belka  wrote:

> So maybe use /debug/stats for the Appstats library?
>
>
> On 31 March 2010 16:32, vivpuri  wrote:
>
>> Yes, and i am already using app.appspot.com/stats.* as part of my app
>>
>> --
>> 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-appeng...@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.
>>
>>
>  --
> 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-appeng...@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.
>



-- 
Ikai Lan
Developer Programs Engineer, Google App Engine
http://googleappengine.blogspot.com | http://twitter.com/app_engine

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



Re: [google-appengine] Re: Any guarantees on time sync among servers?

2010-03-31 Thread Ikai L (Google)
That link goes to a groups post.

I wouldn't use logging for this. Right now we are saving logs for what looks
like 90 days, but this may change such that logging is only until you run
out of space. Also - you can't programmatically filter on values in logs at
the application level easily.

On Tue, Mar 30, 2010 at 8:12 PM, kazunori_279  wrote:

> FYI, here's my another proposal as an alternative to the sharded
> counter: LogCounter.
>
>
> http://groups.google.com/group/google-appengine/browse_thread/thread/da02ebd3001223f7/622bc30435097715?show_docid=622bc30435097715
>
> The basic idea is to use MemcacheService#increment to get unique and
> sequential integer values, while writing logs for them to obtain a
> durability. While it should be as durable as the option 4, while it
> should be more scalable and faster because the log writing can be in
> parallel and there's no point of race condition.
>
> Thanks,
>
> Kaz
>
> On Mar 27, 11:10 pm, jbdhl  wrote:
> > Nice points. I actually think approach 2) will suffice. Thanks alot!
>
> --
> 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-appeng...@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.
>
>


-- 
Ikai Lan
Developer Programs Engineer, Google App Engine
http://googleappengine.blogspot.com | http://twitter.com/app_engine

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



Re: [google-appengine] Allow/Deny IP Address

2010-03-31 Thread Nick Johnson (Google)
Hi J,

The recently released DoS API is designed for just this:
http://code.google.com/appengine/docs/python/config/dos.html

-Nick Johnson

On Wed, Mar 31, 2010 at 5:50 PM, J  wrote:

> I am looking to restrict my web site and deny access from a set of IP
> addresses, much like the Apache mod_access module does.
>
> Would have expected to be able to specify it in app.yaml somehow (GAE/
> Python). Any suggestions welcome.
>
> --
> 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-appeng...@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.
>
>


-- 
Nick Johnson, Developer Programs Engineer, App Engine Google Ireland Ltd. ::
Registered in Dublin, Ireland, Registration Number: 368047
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-appeng...@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.



Re: [google-appengine] How to pay for more than 1,300,000 requests per day?

2010-03-31 Thread Nick Johnson (Google)
On Wed, Mar 31, 2010 at 5:53 PM, Ulrich  wrote:

> Nick Johnson (Google) wrote:
>
>> Hi Mark,
>>
>> The requests-per-day quota is one of our 'non billed quotas'. Enabling
>> billing automatically increases it (currently, to 43,200,000), regardless of
>> what amount of budget you allocate to each billed resource.
>>
>> If you manage to exceed 43 million requests per day, you can talk to us
>> and we'll extend it. If you reach that without needing to pay for any extra
>> CPU quota, I'll happily buy you a beer and write a case study about your
>> app. ;)
>>
> A question: Is CPU used for static requests (images, html sites, etc.)? ;-)
>

Touche! I should've said "without needing to pay for any extra CPU or
bandwidth quota". ;)

-Nick


>
> -Ulrich
>
>>
>> -Nick Johnson
>>
>>
>> On Wed, Mar 31, 2010 at 3:12 PM, Mark > mar...@gmail.com>> wrote:
>>
>>Hi,
>>
>>I'm trying to plan out how much an app could potentially cost to run.
>>I'm looking at the quotas here:
>>
>> http://code.google.com/appengine/docs/quotas.html
>>
>>it says we get a free limit of 1,300,000 requests per day, and 1gb of
>>free storage.
>>
>>I think my app is going to run over the 1gb storage limit, and the
>>1,300,000 calls per day limit, but possibly none of the other quotas.
>>How does billing work in this scenario? Can we pay for more than
>>1,300,000 requests per day? I'm not seeing where this would be charged
>>in the billing screencast here:
>>
>> http://code.google.com/appengine/docs/billing.html
>>
>>Also, in general, are there any rough comparisons that have been done
>>that show how much more cost-effective it is to use app engine at
>>different usage rates vs other hosting plans? Just curious,
>>
>>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.
>>
>>
>>
>>
>> --
>> Nick Johnson, Developer Programs Engineer, App Engine Google Ireland Ltd.
>> :: Registered in Dublin, Ireland, Registration Number: 368047
>> 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-appeng...@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.
>>
>
> --
> 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-appeng...@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.
>
>


-- 
Nick Johnson, Developer Programs Engineer, App Engine Google Ireland Ltd. ::
Registered in Dublin, Ireland, Registration Number: 368047
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-appeng...@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.



Re: [google-appengine] How to pay for more than 1,300,000 requests per day?

2010-03-31 Thread Ulrich

Nick Johnson (Google) wrote:

Hi Mark,

The requests-per-day quota is one of our 'non billed quotas'. Enabling 
billing automatically increases it (currently, to 43,200,000), 
regardless of what amount of budget you allocate to each billed resource.


If you manage to exceed 43 million requests per day, you can talk to 
us and we'll extend it. If you reach that without needing to pay for 
any extra CPU quota, I'll happily buy you a beer and write a case 
study about your app. ;)

A question: Is CPU used for static requests (images, html sites, etc.)? ;-)

-Ulrich


-Nick Johnson

On Wed, Mar 31, 2010 at 3:12 PM, Mark > wrote:


Hi,

I'm trying to plan out how much an app could potentially cost to run.
I'm looking at the quotas here:

 http://code.google.com/appengine/docs/quotas.html

it says we get a free limit of 1,300,000 requests per day, and 1gb of
free storage.

I think my app is going to run over the 1gb storage limit, and the
1,300,000 calls per day limit, but possibly none of the other quotas.
How does billing work in this scenario? Can we pay for more than
1,300,000 requests per day? I'm not seeing where this would be charged
in the billing screencast here:

 http://code.google.com/appengine/docs/billing.html

Also, in general, are there any rough comparisons that have been done
that show how much more cost-effective it is to use app engine at
different usage rates vs other hosting plans? Just curious,

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.




--
Nick Johnson, Developer Programs Engineer, App Engine Google Ireland 
Ltd. :: Registered in Dublin, Ireland, Registration Number: 368047
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-appeng...@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.


--
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-appeng...@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] Allow/Deny IP Address

2010-03-31 Thread J
I am looking to restrict my web site and deny access from a set of IP
addresses, much like the Apache mod_access module does.

Would have expected to be able to specify it in app.yaml somehow (GAE/
Python). Any suggestions welcome.

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



Re: [google-appengine] getting ValueError('insecure string pickle',) error when attempting to start dev environment with a preexisting datastore

2010-03-31 Thread Nick Johnson (Google)
Hi,

Have you been using the sqlite stub? If so, you need to call
--clear_datastore to clear it.

The error you're getting occurs when the standard datastore stub can't read
the datastore file (for example, because it's corrupted, or because it's
actually an sqlite database). Clearing it will fix this.

-Nick Johnson

On Tue, Mar 30, 2010 at 3:58 AM, arifba  wrote:

> Hi all,
> When attempting to start my dev server, app name is butterstats, with
> this command:
> sudo dev_appserver.py --port=80 --datastore=./butterstats_docs/data/
> dirty/dev_appserver.datastore butterstats
>
> I am getting the following error:
> ERROR2010-03-30 02:51:23,536 dev_appserver_main.py:380]  'google.appengine.api.datastore_errors.InternalError'>: Could not read
> data from /Users/arifbandali/projects/butterstats_docs/data/dirty/
> dev_appserver.datastore. Try running with the --clear_datastore flag.
> Cause:
> ValueError('insecure string pickle',)
>
> Has anyone run into this before?
>
> For what it's worth, I was having trouble exporting the production
> datastore and it did not work until I included the --num_threads=1
> flag to the bulkloader.py call.
>
> If there is no solution to this particular issue, is there any other
> way to develop locally with local data without touching production
> data?
>
> Thanks guys.
>
> --
> 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-appeng...@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.
>
>


-- 
Nick Johnson, Developer Programs Engineer, App Engine Google Ireland Ltd. ::
Registered in Dublin, Ireland, Registration Number: 368047
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-appeng...@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.



Re: [google-appengine] How to pay for more than 1,300,000 requests per day?

2010-03-31 Thread Nick Johnson (Google)
Hi Mark,

The requests-per-day quota is one of our 'non billed quotas'. Enabling
billing automatically increases it (currently, to 43,200,000), regardless of
what amount of budget you allocate to each billed resource.

If you manage to exceed 43 million requests per day, you can talk to us and
we'll extend it. If you reach that without needing to pay for any extra CPU
quota, I'll happily buy you a beer and write a case study about your app. ;)

-Nick Johnson

On Wed, Mar 31, 2010 at 3:12 PM, Mark  wrote:

> Hi,
>
> I'm trying to plan out how much an app could potentially cost to run.
> I'm looking at the quotas here:
>
>  http://code.google.com/appengine/docs/quotas.html
>
> it says we get a free limit of 1,300,000 requests per day, and 1gb of
> free storage.
>
> I think my app is going to run over the 1gb storage limit, and the
> 1,300,000 calls per day limit, but possibly none of the other quotas.
> How does billing work in this scenario? Can we pay for more than
> 1,300,000 requests per day? I'm not seeing where this would be charged
> in the billing screencast here:
>
>  http://code.google.com/appengine/docs/billing.html
>
> Also, in general, are there any rough comparisons that have been done
> that show how much more cost-effective it is to use app engine at
> different usage rates vs other hosting plans? Just curious,
>
> 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-appeng...@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.
>
>


-- 
Nick Johnson, Developer Programs Engineer, App Engine Google Ireland Ltd. ::
Registered in Dublin, Ireland, Registration Number: 368047
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-appeng...@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.



Re: [google-appengine] How to pay for more than 1,300,000 requests per day?

2010-03-31 Thread Michael Loftis



--On Wednesday, March 31, 2010 7:12 AM -0700 Mark  wrote:


Hi,

I'm trying to plan out how much an app could potentially cost to run.
I'm looking at the quotas here:

  http://code.google.com/appengine/docs/quotas.html

it says we get a free limit of 1,300,000 requests per day, and 1gb of
free storage.


1.3million hits/day is a lot.  Very very few sites even approach a couple 
hundred k.  Data storage profiles are similar.  This comes from working at 
a relatively large dynamic (php mostly) app hosting company for 6+ years. 
1.3million is an average of 15 hits/second all day long.



I think my app is going to run over the 1gb storage limit, and the
1,300,000 calls per day limit, but possibly none of the other quotas.
How does billing work in this scenario? Can we pay for more than
1,300,000 requests per day? I'm not seeing where this would be charged
in the billing screencast here:


They don't bill per hit, they bill for data transferred to/from users, and 
other categories, as defined:




and described at:



And



Marks resources as (billable) or fixed and explains each.


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



Re: [google-appengine] Re: Performance Profiling Url

2010-03-31 Thread Jody Belka
So maybe use /debug/stats for the Appstats library?

On 31 March 2010 16:32, vivpuri  wrote:

> Yes, and i am already using app.appspot.com/stats.* as part of my app
>
> --
> 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-appeng...@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.
>
>

-- 
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-appeng...@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: Performance Profiling Url

2010-03-31 Thread vivpuri
Yes, and i am already using app.appspot.com/stats.* as part of my app

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



Re: [google-appengine] Performance Profiling Url

2010-03-31 Thread Jody Belka
I assume this is the Appstats library? If so, then from the blog post about
it

"The url here - ‘/stats’ - can be anything you like, as long as it ends with
‘/stats’, and is the URL that you can access the Appstats admin console
over."


On 31 March 2010 15:36, vivpuri  wrote:

> AppEngine team, thanks for adding the Performance Profiling app. But
> the choice of url: /stats is not the best choice this late in the
> game. I dont think /stats was a reserved url handler anyway. And as
> you can guess, after appengine being live for this long amount of
> time, there can be apps using this url handler. At least this is the
> case with my app. In simpler words, can we have the url handler
> changed to /_stats for the Performance Profiling?
>
> --
> 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-appeng...@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.
>
>

-- 
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-appeng...@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] Sporadic failure deploying application.

2010-03-31 Thread John Gardner
This morning, I'm having a sporadic SSL certificate failure deploying.

I run an update:
 $ appcfg.py update_cron .
and get a failure,
  ...
  File "/usr/lib/python2.6/httplib.py", line 723, in send
self.connect()
  File "/usr/local/google_appengine/google/appengine/tools/
https_wrapper.py", line 119, in connect
raise InvalidCertificateException(hostname, cert, 'hostname
mismatch')
google.appengine.tools.https_wrapper.InvalidCertificateException: Host
appengine.google.com returned an invalid certificate (hostname
mismatch): {'notAfter': 'Dec 18 23:59:59 2011 GMT', 'subject':
((('countryName', u'US'),), (('stateOrProvinceName', u'California'),),
(('localityName', u'Mountain View'),), (('organizationName', u'Google
Inc'),), (('commonName', u'www.google.com'),))}
To learn more, see http://code.google.com/appengine/kb/general.html#rpcssl

Then immediately run it again, and it works.
$ appcfg.py update_cron .

Are there some rogue appengine servers with the wrong certificate?

-- 
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-appeng...@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] Sporadic failure deploying application.

2010-03-31 Thread John Gardner
This morning, I'm having a sporadic SSL certificate failure deploying.

I run an update:
 $ appcfg.py update_cron .
and get a failure,
  ...
  File "/usr/lib/python2.6/httplib.py", line 723, in send
self.connect()
  File "/usr/local/google_appengine/google/appengine/tools/
https_wrapper.py", line 119, in connect
raise InvalidCertificateException(hostname, cert, 'hostname
mismatch')
google.appengine.tools.https_wrapper.InvalidCertificateException: Host
appengine.google.com returned an invalid certificate (hostname
mismatch): {'notAfter': 'Dec 18 23:59:59 2011 GMT', 'subject':
((('countryName', u'US'),), (('stateOrProvinceName', u'California'),),
(('localityName', u'Mountain View'),), (('organizationName', u'Google
Inc'),), (('commonName', u'www.google.com'),))}
To learn more, see http://code.google.com/appengine/kb/general.html#rpcssl

Then immediately run it again, and it works.
$ appcfg.py update_cron .

Are there some rogue appengine servers with the wrong certificate?

-- 
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-appeng...@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] Performance Profiling Url

2010-03-31 Thread vivpuri
AppEngine team, thanks for adding the Performance Profiling app. But
the choice of url: /stats is not the best choice this late in the
game. I dont think /stats was a reserved url handler anyway. And as
you can guess, after appengine being live for this long amount of
time, there can be apps using this url handler. At least this is the
case with my app. In simpler words, can we have the url handler
changed to /_stats for the Performance Profiling?

-- 
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-appeng...@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 pay for more than 1,300,000 requests per day?

2010-03-31 Thread Mark
Hi,

I'm trying to plan out how much an app could potentially cost to run.
I'm looking at the quotas here:

  http://code.google.com/appengine/docs/quotas.html

it says we get a free limit of 1,300,000 requests per day, and 1gb of
free storage.

I think my app is going to run over the 1gb storage limit, and the
1,300,000 calls per day limit, but possibly none of the other quotas.
How does billing work in this scenario? Can we pay for more than
1,300,000 requests per day? I'm not seeing where this would be charged
in the billing screencast here:

  http://code.google.com/appengine/docs/billing.html

Also, in general, are there any rough comparisons that have been done
that show how much more cost-effective it is to use app engine at
different usage rates vs other hosting plans? Just curious,

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



Re: [google-appengine] Re: Beginner Help - Python Incoming Mail

2010-03-31 Thread Jon Byrne
Its returning a code 200 which I thought it was ok. I am using the Dev
Server.

Thanks

Jon Byrne
em...@jonbyrne.com


On 31 March 2010 12:45, Nick Johnson (Google) wrote:

> In that case, it's probable your handler is not being called at all. Have
> you checked the logs to see if it is, and what status code it's returning?
> Is this on the dev server, or in production?
>
> -Nick Johnson
>
>   On Wed, Mar 31, 2010 at 12:30 PM, Jon Byrne  wrote:
>
>>   Sorry about not explaining well.
>>
>> The entity does not appear in the Datastore and I am not seeing the log
>> message.
>>
>> Thanks
>>
>> 
>> Jon Byrne
>> em...@jonbyrne.com
>>
>>
>>   On 31 March 2010 12:21, Nick Johnson (Google) 
>> wrote:
>>
>>>   On Wed, Mar 31, 2010 at 12:03 PM, Jon Byrne wrote:
>>>
 Thanks Nick

 So should this work?


  import logging, email
 from google.appengine.ext import webapp
 from google.appengine.ext.webapp.mail_handlers import InboundMailHandler

 from google.appengine.ext.webapp.util import run_wsgi_app
 from google.appengine.ext import db

 class Greeting(db.Model):
 content = db.StringProperty(multiline=False)

 class LogSenderHandler(InboundMailHandler):
 def receive(self, mail_message):
 logging.info("Received a message from: " + mail_message.sender)
 greeting = Greeting()
 greeting.content = mail_message.subject
 greeting.put()


 I have tried this and this does not work, I have also tried using
 greeting.content = "some" just to make sure its not a problem with
 mail_message.subject but still no joy.

>>>
>>> What do you mean by "does not work"? Does the log message get written?
>>> Does the entity appear in the datastore entity viewer? How are you
>>> determining that it does not work?
>>>
>>>

 If I greeting.content in a seperate class it does write to the datastore
 but I am unable to use the mail_message.sender value.

>>>
>>> I think you missed a verb there.
>>>
>>> -Nick
>>>
>>>

 Sorry for being a bit simple



 
 Jon Byrne
 em...@jonbyrne.com



On 31 March 2010 11:25, Nick Johnson (Google) <
 nick.john...@google.com> wrote:


> Hi Jon,
>
>
>  On Wed, Mar 31, 2010 at 11:19 AM, Jon Byrne wrote:
>
>
>> Thanks for that I have sorted that side of things but am struggling to
>> get the email into the datastore.
>>
>>
>> I am using this code
>>
>>
>>
>>
>>  import logging, email
>>
>>  from google.appengine.ext import webapp
>>
>>  from google.appengine.ext.webapp.mail_handlers import
>> InboundMailHandler
>>
>>  from google.appengine.ext.webapp.util import run_wsgi_app
>>
>>  from google.appengine.ext import db
>>
>>
>>
>>  class Greeting(db.Model):
>>
>>  content = db.StringProperty(multiline=False)
>>
>>
>>
>>  class LogSenderHandler(InboundMailHandler):
>>
>>  def receive(self, mail_message):
>>
>>  logging.info("Received a message from: " +
>> mail_message.sender)
>>
>>  greeting = Greeting()
>>
>>  greeting.content = mail_message.subject
>>
>>
> This code creates a new Greeting, and sets the content, but never saves
> it to the datastore. You need to call .put() on 'greeting'.
>
>
>>
>>
>>  class Guestbook(webapp.RequestHandler):
>>
>> def importsender(self):
>>
>>  greeting = Greeting()
>>
>>  greeting.put()
>>
>>
> ...while this code creates a new, empty greeting, and saves it to the
> datastore, which probably doesn't do what you want it to.
>
> -Nick
>
>
>>
>> But do not get anything in the datastore or an error. Where am I going
>> wrong?
>>  
>> Jon Byrne
>> em...@jonbyrne.com
>>
>>
>>
>>   On 31 March 2010 05:08, dhruvbird  wrote:
>>
>>
>>> You can configure you mail program receiving email to forward all
>>> incoming email (or some subset of it) to you appspot email ID.
>>> For example, if you ar eusing gmail or google apps, you can configure
>>> mail forwarding on the settings page or email page if you are an
>>> admin
>>> for your apps domain.
>>> From there you can do anything you want with it.
>>>
>>> Regards,
>>> -Dhruv.
>>>
>>>   On Mar 30, 10:54 pm, Jon Byrne  wrote:
>>> > I am a beginner @ Python and not an experienced developer, but I
>>> have an
>>> > idea to create an app using Google App Engine.
>>> >
>>> > The idea is that I forward some automatically generated emails from
>>> another
>>> > programme to my appspot app and then import them into the Data
>>> Store. I will
>>>

Re: [google-appengine] Re: data center location

2010-03-31 Thread Jody Belka
I just checked out the EU data protection situation for this, and seems to
be okay

Although the US isn't on the list of countries with "adequate protection",
data sent to the US under the "Safe Harbor" scheme /is/ considered
adequately protected, and Google is registered with said scheme.

So though it would definitely be nice to be able to choose an EU
data-centre, the situation is at least not as bad as it might be.


Jody


On 30 March 2010 20:03, PK  wrote:

> Unfortunately not. This is the issue to star:
>
> http://code.google.com/p/googleappengine/issues/detail?id=193
>
> PK
> www.gae123.com
>
> On Mar 29, 9:09 am, Ilya Biryukov  wrote:
> > Hi guys.
> > Can I specify where to deploy my app geographically? Say I want my
> > data to stay in Europe only. Is this possible? If so, what are the
> > available locations?
> >
> > 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-appeng...@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.
>
>

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



Re: [google-appengine] Re: Beginner Help - Python Incoming Mail

2010-03-31 Thread Nick Johnson (Google)
In that case, it's probable your handler is not being called at all. Have
you checked the logs to see if it is, and what status code it's returning?
Is this on the dev server, or in production?

-Nick Johnson

On Wed, Mar 31, 2010 at 12:30 PM, Jon Byrne  wrote:

> Sorry about not explaining well.
>
> The entity does not appear in the Datastore and I am not seeing the log
> message.
>
> Thanks
>
> 
> Jon Byrne
> em...@jonbyrne.com
>
>
> On 31 March 2010 12:21, Nick Johnson (Google) wrote:
>
>>  On Wed, Mar 31, 2010 at 12:03 PM, Jon Byrne  wrote:
>>
>>> Thanks Nick
>>>
>>> So should this work?
>>>
>>>
>>>  import logging, email
>>> from google.appengine.ext import webapp
>>> from google.appengine.ext.webapp.mail_handlers import InboundMailHandler
>>> from google.appengine.ext.webapp.util import run_wsgi_app
>>> from google.appengine.ext import db
>>>
>>> class Greeting(db.Model):
>>> content = db.StringProperty(multiline=False)
>>>
>>> class LogSenderHandler(InboundMailHandler):
>>> def receive(self, mail_message):
>>> logging.info("Received a message from: " + mail_message.sender)
>>> greeting = Greeting()
>>> greeting.content = mail_message.subject
>>> greeting.put()
>>>
>>>
>>> I have tried this and this does not work, I have also tried using
>>> greeting.content = "some" just to make sure its not a problem with
>>> mail_message.subject but still no joy.
>>>
>>
>> What do you mean by "does not work"? Does the log message get written?
>> Does the entity appear in the datastore entity viewer? How are you
>> determining that it does not work?
>>
>>
>>>
>>> If I greeting.content in a seperate class it does write to the datastore
>>> but I am unable to use the mail_message.sender value.
>>>
>>
>> I think you missed a verb there.
>>
>> -Nick
>>
>>
>>>
>>> Sorry for being a bit simple
>>>
>>>
>>>
>>> 
>>> Jon Byrne
>>> em...@jonbyrne.com
>>>
>>>
>>>
>>>On 31 March 2010 11:25, Nick Johnson (Google) <
>>> nick.john...@google.com> wrote:
>>>
>>>
 Hi Jon,


  On Wed, Mar 31, 2010 at 11:19 AM, Jon Byrne wrote:


> Thanks for that I have sorted that side of things but am struggling to
> get the email into the datastore.
>
>
> I am using this code
>
>
>
>
>  import logging, email
>
>  from google.appengine.ext import webapp
>
>  from google.appengine.ext.webapp.mail_handlers import
> InboundMailHandler
>
>  from google.appengine.ext.webapp.util import run_wsgi_app
>
>  from google.appengine.ext import db
>
>
>
>  class Greeting(db.Model):
>
>  content = db.StringProperty(multiline=False)
>
>
>
>  class LogSenderHandler(InboundMailHandler):
>
>  def receive(self, mail_message):
>
>  logging.info("Received a message from: " +
> mail_message.sender)
>
>  greeting = Greeting()
>
>  greeting.content = mail_message.subject
>
>
 This code creates a new Greeting, and sets the content, but never saves
 it to the datastore. You need to call .put() on 'greeting'.


>
>
>  class Guestbook(webapp.RequestHandler):
>
> def importsender(self):
>
>  greeting = Greeting()
>
>  greeting.put()
>
>
 ...while this code creates a new, empty greeting, and saves it to the
 datastore, which probably doesn't do what you want it to.

 -Nick


>
> But do not get anything in the datastore or an error. Where am I going
> wrong?
>  
> Jon Byrne
> em...@jonbyrne.com
>
>
>
>   On 31 March 2010 05:08, dhruvbird  wrote:
>
>
>> You can configure you mail program receiving email to forward all
>> incoming email (or some subset of it) to you appspot email ID.
>> For example, if you ar eusing gmail or google apps, you can configure
>> mail forwarding on the settings page or email page if you are an admin
>> for your apps domain.
>> From there you can do anything you want with it.
>>
>> Regards,
>> -Dhruv.
>>
>>   On Mar 30, 10:54 pm, Jon Byrne  wrote:
>> > I am a beginner @ Python and not an experienced developer, but I
>> have an
>> > idea to create an app using Google App Engine.
>> >
>> > The idea is that I forward some automatically generated emails from
>> another
>> > programme to my appspot app and then import them into the Data
>> Store. I will
>> > then from the data contained in the email be able to display the
>> information
>> > on the web in a usful fasion.
>> >
>> > Now the emails are standardised and come from the same address.
>> >
>> > Is there some sample code out there with this kind of thing or is it
>> even
>> > possible.
>> >
>> > Thanks
>> >
>> > 
>> 

Re: [google-appengine] Re: Beginner Help - Python Incoming Mail

2010-03-31 Thread Jon Byrne
Sorry about not explaining well.

The entity does not appear in the Datastore and I am not seeing the log
message.

Thanks


Jon Byrne
em...@jonbyrne.com


On 31 March 2010 12:21, Nick Johnson (Google) wrote:

>  On Wed, Mar 31, 2010 at 12:03 PM, Jon Byrne  wrote:
>
>> Thanks Nick
>>
>> So should this work?
>>
>>
>>  import logging, email
>> from google.appengine.ext import webapp
>> from google.appengine.ext.webapp.mail_handlers import InboundMailHandler
>> from google.appengine.ext.webapp.util import run_wsgi_app
>> from google.appengine.ext import db
>>
>> class Greeting(db.Model):
>> content = db.StringProperty(multiline=False)
>>
>> class LogSenderHandler(InboundMailHandler):
>> def receive(self, mail_message):
>> logging.info("Received a message from: " + mail_message.sender)
>> greeting = Greeting()
>> greeting.content = mail_message.subject
>> greeting.put()
>>
>>
>> I have tried this and this does not work, I have also tried using
>> greeting.content = "some" just to make sure its not a problem with
>> mail_message.subject but still no joy.
>>
>
> What do you mean by "does not work"? Does the log message get written? Does
> the entity appear in the datastore entity viewer? How are you determining
> that it does not work?
>
>
>>
>> If I greeting.content in a seperate class it does write to the datastore
>> but I am unable to use the mail_message.sender value.
>>
>
> I think you missed a verb there.
>
> -Nick
>
>
>>
>> Sorry for being a bit simple
>>
>>
>>
>> 
>> Jon Byrne
>> em...@jonbyrne.com
>>
>>
>>
>>On 31 March 2010 11:25, Nick Johnson (Google) > > wrote:
>>
>>
>>> Hi Jon,
>>>
>>>
>>>  On Wed, Mar 31, 2010 at 11:19 AM, Jon Byrne  wrote:
>>>
>>>
>>>
 Thanks for that I have sorted that side of things but am struggling to
 get the email into the datastore.


 I am using this code




  import logging, email

  from google.appengine.ext import webapp

  from google.appengine.ext.webapp.mail_handlers import
 InboundMailHandler

  from google.appengine.ext.webapp.util import run_wsgi_app

  from google.appengine.ext import db



  class Greeting(db.Model):

  content = db.StringProperty(multiline=False)



  class LogSenderHandler(InboundMailHandler):

  def receive(self, mail_message):

  logging.info("Received a message from: " +
 mail_message.sender)

  greeting = Greeting()

  greeting.content = mail_message.subject


>>> This code creates a new Greeting, and sets the content, but never saves
>>> it to the datastore. You need to call .put() on 'greeting'.
>>>
>>>


  class Guestbook(webapp.RequestHandler):

 def importsender(self):

  greeting = Greeting()

  greeting.put()


>>> ...while this code creates a new, empty greeting, and saves it to the
>>> datastore, which probably doesn't do what you want it to.
>>>
>>> -Nick
>>>
>>>

 But do not get anything in the datastore or an error. Where am I going
 wrong?
  
 Jon Byrne
 em...@jonbyrne.com



   On 31 March 2010 05:08, dhruvbird  wrote:


> You can configure you mail program receiving email to forward all
> incoming email (or some subset of it) to you appspot email ID.
> For example, if you ar eusing gmail or google apps, you can configure
> mail forwarding on the settings page or email page if you are an admin
> for your apps domain.
> From there you can do anything you want with it.
>
> Regards,
> -Dhruv.
>
>   On Mar 30, 10:54 pm, Jon Byrne  wrote:
> > I am a beginner @ Python and not an experienced developer, but I have
> an
> > idea to create an app using Google App Engine.
> >
> > The idea is that I forward some automatically generated emails from
> another
> > programme to my appspot app and then import them into the Data Store.
> I will
> > then from the data contained in the email be able to display the
> information
> > on the web in a usful fasion.
> >
> > Now the emails are standardised and come from the same address.
> >
> > Is there some sample code out there with this kind of thing or is it
> even
> > possible.
> >
> > Thanks
> >
> > 
> > Jon Byrne
>
> > em...@jonbyrne.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: Need more apps!

2010-03-31 Thread J
Sorry Wooble, I should have added the link:
http://googleappengine.blogspot.com/2009/10/app-engine-sdk-126-released-with.html

On Mar 30, 7:59 pm, Wooble  wrote:
> Somewhere in the message you quoted, you mean?  Yes. :P
>
> On Mar 30, 7:07 pm, J  wrote:
>
>
>
> > Didn't I see somewhere recently that the ability to delete an old app-
> > id is now available?
>
> > On Mar 30, 3:36 pm, Mark Renouf  wrote:
>
> > > Oh, good point. I do want to make sure I can reserve the name I had in
> > > mind... but if it is available now, there's a good chance it will
> > > still be available on the 2nd. I can just re-deploy...
>
> > > Thanks for the hint!
>
> > > On Mar 30, 3:14 pm, A1programmer  wrote:
>
> > > > Why not reuse an app-id and forget about the old versions? At least
> > > > until your other apps are gone ?
>
> > > > On Mar 30, 1:59 pm, Mark Renouf  wrote:
>
> > > > > Hi.
>
> > > > > I've maxed out my limit (10 apps), though many are tests and older
> > > > > abandoned projects. I've marked some for delete, but they will not go
> > > > > away until Apr. 2nd. I need to register a new project ASAP. Could I
> > > > > get an increase in my quota? 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-appeng...@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.



Re: [google-appengine] Re: Beginner Help - Python Incoming Mail

2010-03-31 Thread Nick Johnson (Google)
On Wed, Mar 31, 2010 at 12:03 PM, Jon Byrne  wrote:

> Thanks Nick
>
> So should this work?
>
>
> import logging, email
> from google.appengine.ext import webapp
> from google.appengine.ext.webapp.mail_handlers import InboundMailHandler
> from google.appengine.ext.webapp.util import run_wsgi_app
> from google.appengine.ext import db
>
> class Greeting(db.Model):
> content = db.StringProperty(multiline=False)
>
> class LogSenderHandler(InboundMailHandler):
> def receive(self, mail_message):
> logging.info("Received a message from: " + mail_message.sender)
> greeting = Greeting()
> greeting.content = mail_message.subject
> greeting.put()
>
>
> I have tried this and this does not work, I have also tried using
> greeting.content = "some" just to make sure its not a problem with
> mail_message.subject but still no joy.
>

What do you mean by "does not work"? Does the log message get written? Does
the entity appear in the datastore entity viewer? How are you determining
that it does not work?


>
> If I greeting.content in a seperate class it does write to the datastore
> but I am unable to use the mail_message.sender value.
>

I think you missed a verb there.

-Nick


>
> Sorry for being a bit simple
>
>
>
> 
> Jon Byrne
> em...@jonbyrne.com
>
>
>
> On 31 March 2010 11:25, Nick Johnson (Google) wrote:
>
>
>> Hi Jon,
>>
>>
>>  On Wed, Mar 31, 2010 at 11:19 AM, Jon Byrne  wrote:
>>
>>
>>> Thanks for that I have sorted that side of things but am struggling to
>>> get the email into the datastore.
>>>
>>>
>>> I am using this code
>>>
>>>
>>>
>>>
>>>  import logging, email
>>>
>>>  from google.appengine.ext import webapp
>>>
>>>  from google.appengine.ext.webapp.mail_handlers import
>>> InboundMailHandler
>>>
>>>  from google.appengine.ext.webapp.util import run_wsgi_app
>>>
>>>  from google.appengine.ext import db
>>>
>>>
>>>
>>>  class Greeting(db.Model):
>>>
>>>  content = db.StringProperty(multiline=False)
>>>
>>>
>>>
>>>  class LogSenderHandler(InboundMailHandler):
>>>
>>>  def receive(self, mail_message):
>>>
>>>  logging.info("Received a message from: " + mail_message.sender)
>>>
>>>  greeting = Greeting()
>>>
>>>  greeting.content = mail_message.subject
>>>
>>>
>> This code creates a new Greeting, and sets the content, but never saves it
>> to the datastore. You need to call .put() on 'greeting'.
>>
>>
>>>
>>>
>>>  class Guestbook(webapp.RequestHandler):
>>>
>>> def importsender(self):
>>>
>>>  greeting = Greeting()
>>>
>>>  greeting.put()
>>>
>>>
>> ...while this code creates a new, empty greeting, and saves it to the
>> datastore, which probably doesn't do what you want it to.
>>
>> -Nick
>>
>>
>>>
>>> But do not get anything in the datastore or an error. Where am I going
>>> wrong?
>>>  
>>> Jon Byrne
>>> em...@jonbyrne.com
>>>
>>>
>>>
>>>   On 31 March 2010 05:08, dhruvbird  wrote:
>>>
>>>
 You can configure you mail program receiving email to forward all
 incoming email (or some subset of it) to you appspot email ID.
 For example, if you ar eusing gmail or google apps, you can configure
 mail forwarding on the settings page or email page if you are an admin
 for your apps domain.
 From there you can do anything you want with it.

 Regards,
 -Dhruv.

   On Mar 30, 10:54 pm, Jon Byrne  wrote:
 > I am a beginner @ Python and not an experienced developer, but I have
 an
 > idea to create an app using Google App Engine.
 >
 > The idea is that I forward some automatically generated emails from
 another
 > programme to my appspot app and then import them into the Data Store.
 I will
 > then from the data contained in the email be able to display the
 information
 > on the web in a usful fasion.
 >
 > Now the emails are standardised and come from the same address.
 >
 > Is there some sample code out there with this kind of thing or is it
 even
 > possible.
 >
 > Thanks
 >
 > 
 > Jon Byrne

 > em...@jonbyrne.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-appeng...@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.



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

Re: [google-appengine] Re: Beginner Help - Python Incoming Mail

2010-03-31 Thread Jon Byrne
Thanks Nick

So should this work?


import logging, email
from google.appengine.ext import webapp
from google.appengine.ext.webapp.mail_handlers import InboundMailHandler
from google.appengine.ext.webapp.util import run_wsgi_app
from google.appengine.ext import db

class Greeting(db.Model):
content = db.StringProperty(multiline=False)

class LogSenderHandler(InboundMailHandler):
def receive(self, mail_message):
logging.info("Received a message from: " + mail_message.sender)
greeting = Greeting()
greeting.content = mail_message.subject
greeting.put()


I have tried this and this does not work, I have also tried using
greeting.content = "some" just to make sure its not a problem with
mail_message.subject but still no joy.

If I greeting.content in a seperate class it does write to the datastore but
I am unable to use the mail_message.sender value.

Sorry for being a bit simple




Jon Byrne
em...@jonbyrne.com



On 31 March 2010 11:25, Nick Johnson (Google) wrote:


> Hi Jon,
>
>
>  On Wed, Mar 31, 2010 at 11:19 AM, Jon Byrne  wrote:
>
>
>> Thanks for that I have sorted that side of things but am struggling to get
>> the email into the datastore.
>>
>>
>> I am using this code
>>
>>
>>
>>
>>  import logging, email
>>
>>  from google.appengine.ext import webapp
>>
>>  from google.appengine.ext.webapp.mail_handlers import
>> InboundMailHandler
>>
>>  from google.appengine.ext.webapp.util import run_wsgi_app
>>
>>  from google.appengine.ext import db
>>
>>
>>
>>  class Greeting(db.Model):
>>
>>  content = db.StringProperty(multiline=False)
>>
>>
>>
>>  class LogSenderHandler(InboundMailHandler):
>>
>>  def receive(self, mail_message):
>>
>>  logging.info("Received a message from: " + mail_message.sender)
>>
>>  greeting = Greeting()
>>
>>  greeting.content = mail_message.subject
>>
>>
> This code creates a new Greeting, and sets the content, but never saves it
> to the datastore. You need to call .put() on 'greeting'.
>
>
>>
>>
>>  class Guestbook(webapp.RequestHandler):
>>
>> def importsender(self):
>>
>>  greeting = Greeting()
>>
>>  greeting.put()
>>
>>
> ...while this code creates a new, empty greeting, and saves it to the
> datastore, which probably doesn't do what you want it to.
>
> -Nick
>
>
>>
>> But do not get anything in the datastore or an error. Where am I going
>> wrong?
>>  
>> Jon Byrne
>> em...@jonbyrne.com
>>
>>
>>
>>   On 31 March 2010 05:08, dhruvbird  wrote:
>>
>>
>>> You can configure you mail program receiving email to forward all
>>> incoming email (or some subset of it) to you appspot email ID.
>>> For example, if you ar eusing gmail or google apps, you can configure
>>> mail forwarding on the settings page or email page if you are an admin
>>> for your apps domain.
>>> From there you can do anything you want with it.
>>>
>>> Regards,
>>> -Dhruv.
>>>
>>>   On Mar 30, 10:54 pm, Jon Byrne  wrote:
>>> > I am a beginner @ Python and not an experienced developer, but I have
>>> an
>>> > idea to create an app using Google App Engine.
>>> >
>>> > The idea is that I forward some automatically generated emails from
>>> another
>>> > programme to my appspot app and then import them into the Data Store. I
>>> will
>>> > then from the data contained in the email be able to display the
>>> information
>>> > on the web in a usful fasion.
>>> >
>>> > Now the emails are standardised and come from the same address.
>>> >
>>> > Is there some sample code out there with this kind of thing or is it
>>> even
>>> > possible.
>>> >
>>> > Thanks
>>> >
>>> > 
>>> > Jon Byrne
>>>
>>> > em...@jonbyrne.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-appeng...@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.
>>>
>>>
>>>
>>
>>
>> --
>>
>> 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-appeng...@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.
>>
>>
>
>
> --
> Nick Johnson, Developer Programs Engineer, App Engine Google Ireland Ltd.
> :: Registered in Dublin, Ireland, Registration Number: 368047
> 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-appeng...@googlegroups.com.
> To unsubscribe from this group, send email to
> google-

Re: [google-appengine] Re: Beginner Help - Python Incoming Mail

2010-03-31 Thread Nick Johnson (Google)
Hi Jon,

On Wed, Mar 31, 2010 at 11:19 AM, Jon Byrne  wrote:

> Thanks for that I have sorted that side of things but am struggling to get
> the email into the datastore.
>
> I am using this code
>
>
> import logging, email
>
> from google.appengine.ext import webapp
>
> from google.appengine.ext.webapp.mail_handlers import InboundMailHandler
>
> from google.appengine.ext.webapp.util import run_wsgi_app
>
> from google.appengine.ext import db
>
>
> class Greeting(db.Model):
>
> content = db.StringProperty(multiline=False)
>
>
> class LogSenderHandler(InboundMailHandler):
>
> def receive(self, mail_message):
>
> logging.info("Received a message from: " + mail_message.sender)
>
> greeting = Greeting()
>
> greeting.content = mail_message.subject
>
>
This code creates a new Greeting, and sets the content, but never saves it
to the datastore. You need to call .put() on 'greeting'.


>
> class Guestbook(webapp.RequestHandler):
>
>def importsender(self):
>
> greeting = Greeting()
>
> greeting.put()
>
>
...while this code creates a new, empty greeting, and saves it to the
datastore, which probably doesn't do what you want it to.

-Nick


>
> But do not get anything in the datastore or an error. Where am I going
> wrong?
> 
> Jon Byrne
> em...@jonbyrne.com
>
>
> On 31 March 2010 05:08, dhruvbird  wrote:
>
>> You can configure you mail program receiving email to forward all
>> incoming email (or some subset of it) to you appspot email ID.
>> For example, if you ar eusing gmail or google apps, you can configure
>> mail forwarding on the settings page or email page if you are an admin
>> for your apps domain.
>> From there you can do anything you want with it.
>>
>> Regards,
>> -Dhruv.
>>
>> On Mar 30, 10:54 pm, Jon Byrne  wrote:
>> > I am a beginner @ Python and not an experienced developer, but I have an
>> > idea to create an app using Google App Engine.
>> >
>> > The idea is that I forward some automatically generated emails from
>> another
>> > programme to my appspot app and then import them into the Data Store. I
>> will
>> > then from the data contained in the email be able to display the
>> information
>> > on the web in a usful fasion.
>> >
>> > Now the emails are standardised and come from the same address.
>> >
>> > Is there some sample code out there with this kind of thing or is it
>> even
>> > possible.
>> >
>> > Thanks
>> >
>> > 
>> > Jon Byrne
>> > em...@jonbyrne.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-appeng...@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.
>>
>>
>  --
> 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-appeng...@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.
>



-- 
Nick Johnson, Developer Programs Engineer, App Engine Google Ireland Ltd. ::
Registered in Dublin, Ireland, Registration Number: 368047
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-appeng...@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.



Re: [google-appengine] Re: Beginner Help - Python Incoming Mail

2010-03-31 Thread Jon Byrne
Thanks for that I have sorted that side of things but am struggling to get
the email into the datastore.

I am using this code


import logging, email

from google.appengine.ext import webapp

from google.appengine.ext.webapp.mail_handlers import InboundMailHandler

from google.appengine.ext.webapp.util import run_wsgi_app

from google.appengine.ext import db


class Greeting(db.Model):

content = db.StringProperty(multiline=False)


class LogSenderHandler(InboundMailHandler):

def receive(self, mail_message):

logging.info("Received a message from: " + mail_message.sender)

greeting = Greeting()

greeting.content = mail_message.subject


class Guestbook(webapp.RequestHandler):

   def importsender(self):

greeting = Greeting()

greeting.put()


But do not get anything in the datastore or an error. Where am I going
wrong?

Jon Byrne
em...@jonbyrne.com


On 31 March 2010 05:08, dhruvbird  wrote:

> You can configure you mail program receiving email to forward all
> incoming email (or some subset of it) to you appspot email ID.
> For example, if you ar eusing gmail or google apps, you can configure
> mail forwarding on the settings page or email page if you are an admin
> for your apps domain.
> From there you can do anything you want with it.
>
> Regards,
> -Dhruv.
>
> On Mar 30, 10:54 pm, Jon Byrne  wrote:
> > I am a beginner @ Python and not an experienced developer, but I have an
> > idea to create an app using Google App Engine.
> >
> > The idea is that I forward some automatically generated emails from
> another
> > programme to my appspot app and then import them into the Data Store. I
> will
> > then from the data contained in the email be able to display the
> information
> > on the web in a usful fasion.
> >
> > Now the emails are standardised and come from the same address.
> >
> > Is there some sample code out there with this kind of thing or is it even
> > possible.
> >
> > Thanks
> >
> > 
> > Jon Byrne
> > em...@jonbyrne.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-appeng...@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.
>
>

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



Re: [google-appengine] "File referenced by handler not found"

2010-03-31 Thread djidjadji
Just use this
-
- url: /mypicpickup_(.+?)\.jpg
 script: mypicpickup.py
-
script should only point to the python file. NO static file syntax.

2010/3/29 . :
> Dear all
>
>    I found a very strange problem in my GAE project.
>    I need your help.
>
>    The detail is:
>    I create a web site to let my users upload their pictures.
>    After a user upload, I will store the pic in db blob and assign a
> MD5 string as the pic id.
>    Then I use a mypicpickup.py to let user access their pics.
>    The app.yaml setting is as below
> -
> - url: /mypicpickup_(.+?)\.jpg
>  script: mypicpickup.py?picid=\1
> -
>
> In the mypicpickup.py,
> -
> def main():
>    application = webapp.WSGIApplication([('/mypicpickup_(.+?)\.jpg',
> GetPicHandler)], debug=True)
>    run_wsgi_app(application)
>
> if __name__ == '__main__':
>  main()
> -
>
> Before yesterday, this web work normally.
> However, today my users got a ERROR MSG -- "500 SERVER ERROR" -- when
> they want to get their pictures .
>
> In the admin console, it shows the error msg.
> -
> File referenced by handler not found: mypicpickup.py?picid=
> -
>  = the pic id.
>
> Does anyone know how to fix this error ?
> Thanks for your help !
>
> --
> 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-appeng...@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.
>
>

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