[google-appengine] Re: get_by_id for subclasses

2008-11-12 Thread Craig

On Nov 12, 6:44 am, yejun <[EMAIL PROTECTED]> wrote:
> I don't think id is unique among different kinds or entity groups. I
> could be wrong though.

I have assumed it is. In my (limited) testing, they have proven to be
so. Am I wrong?
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: get_by_id for subclasses

2008-11-12 Thread Alexander Kojevnikov

> > I don't think id is unique among different kinds or entity groups. I
> > could be wrong though.
>
> I have assumed it is. In my (limited) testing, they have proven to be
> so. Am I wrong?

See Ryan's post in this thread:
http://groups.google.com/group/google-appengine/browse_thread/thread/517a9ad5edd263d2/5346ccf811e0660e

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] opensocial example

2008-11-12 Thread jun

I read this article: 
http://code.google.com/apis/opensocial/articles/appengine-0.8.html
,which is how to build an open social app with app engine, and would
like to ask how to make it work. I've downloaded the app engine sdk
version 1.1.3, and copied all the example files. I entered this url:
http://localhost:8080/admin and initialize the datastore, and could
list the data, but when I enter this url: http://localhost:8080/gifts,
it lists this error:

Traceback (most recent call last):
  File "/base/python_lib/versions/1/google/appengine/ext/webapp/
__init__.py", line 499, in __call__
handler.get(*groups)
  File "/base/data/home/apps/opensocial-gifts-example/
1.329235496171126774/api.py", line 111, in get
if not self._isValidSignature():
  File "/base/data/home/apps/opensocial-gifts-example/
1.329235496171126774/api.py", line 100, in _isValidSignature
sig = base64.decodestring(urllib.unquote(self.request.params.mixed
()["oauth_signature"]))
KeyError: 'oauth_signature'


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: New __dict__ for entities?

2008-11-12 Thread Nick Winter

Actually, I think some_entity.__setattr__ is still working, despite
the change, and that we were only thinking that it wasn't working
because of a bug in the online shell, and not being able to properly
upload and test last night.

Sorry about that.
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] pagination, again

2008-11-12 Thread Rodrigo Moraes

hey,
from the I/O Session [1] i can see how to create pagination based on
indexes that doesn't rely on database offsets. but the example is
plain simple and I am intrigued in how to do some more complex
pagination in a "app-engine way". in the I/O Session example, you
fetch 1 extra record to know if you have a next page, and based on
that and the current page's pagination data, you can create "previous"
or "next" links.

now, what if we want to create a pager with links to a range of pages
(the common pager we use everywhere: << previous 1 2 3 4 next >>)?

to know how many items we have to paginate we can set a sharded
counter (using the awesome class from our fellows here :), but how to
fetch the data related to the requested page in a consistent way? or,
better, how to keep the index consistent? let's say i'm displaying 20
items per page, so have the links:

  * page 2: /my-page?start=20
  * page 3: /my-page?start=40
  * etc.

now, if I delete items 23, 24 and 25, my page 2 will have 17 items
instead of 20. to avoid this, I'd have to rebuild the index when items
are removed, which is undesired.
do you have other ideas?

i'd want to keep it efficient and relativelly simple, and maybe i'm
just trying to do what i should not try to do. what do you think?

-- rodrigo

[1] 
http://sites.google.com/site/io/building-scalable-web-applications-with-google-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-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Upload data to datastore

2008-11-12 Thread Marcelo

Hi Jeff, thanks for your interest.

Yes I'm sure about that because my program works well when is in
development.

This is the output of my client script:
file result/tmp.png
host localhost:8080
selector /bulkupload
fields [('part1', '0'), ('part2', '0'), ('part3', '0')]
result 2
...
result/tmp.png
localhost:8080
/bulkupload
[('part1', '0'), ('part2', '0'), ('part3', '1')]
3
result/tmp.png
localhost:8080
/bulkupload
[('part1', '0'), ('part2', '0'), ('part3', '2')]
4
result/tmp.png
localhost:8080
/bulkupload
[('part1', '0'), ('part2', '0'), ('part3', '3')]
5

The log of the development server is:
INFO 2008-11-12 16:23:58,736 __init__.py] Server:
appengine.google.com
INFO 2008-11-12 16:23:59,326 __init__.py] Running application my-
mood on port 8080: http://localhost:8080
INFO 2008-11-12 16:24:23,802 __init__.py] "POST /bulkupload HTTP/
1.0" 200 -
INFO 2008-11-12 16:24:23,804 __init__.py] Detected manual
index.yaml, will not update
INFO 2008-11-12 16:24:23,966 __init__.py] "POST /bulkupload HTTP/
1.0" 200 -
INFO 2008-11-12 16:24:24,104 __init__.py] "POST /bulkupload HTTP/
1.0" 200 -
INFO 2008-11-12 16:24:24,257 __init__.py] "POST /bulkupload HTTP/
1.0" 200 -
INFO 2008-11-12 16:24:24,406 __init__.py] "POST /bulkupload HTTP/
1.0" 200 -
INFO 2008-11-12 16:24:24,559 __init__.py] "POST /bulkupload HTTP/
1.0" 200 -
INFO 2008-11-12 16:24:24,735 __init__.py] "POST /bulkupload HTTP/
1.0" 200 -
INFO 2008-11-12 16:24:25,054 __init__.py] "POST /bulkupload HTTP/
1.0" 200 -
INFO 2008-11-12 16:24:25,278 __init__.py] "POST /bulkupload HTTP/
1.0" 200 -

So this show me that all is going fine.

But after un update to the GAE server, this is the result on my client
script:

file result/tmp.png
host my-mood.appspot.com
selector /bulkupload
fields [('part1', '0'), ('part2', '0'), ('part3', '0')]
result



405 Method Not Allowed






Google  
 
Error
 

Method Not Allowed
The request method POST is inappropriate for the URL
/bulkupload.






Thanks for your help.

Cheers.
On 11 nov, 21:18, Jeff S <[EMAIL PROTECTED]> wrote:
> Hi Marcelo,
>
> Are you sure that the selector requested by the client is mapping to
> the BulkUpload RequestHandler? The error that your client receives
> sounds like the default error when the invoked request handler doesn't
> have a post method.
>
> Cheers,
>
> Jeff
>
> On Nov 10, 10:46 am, Marcelo <[EMAIL PROTECTED]> wrote:
>
> > Hi there.
>
> > I'm trying to upload some data to datastore, I can't use CSV bulk
> > uploader because my data is not just text. Part of the data is an
> > image. So I decide to make a python script to call a POST method on
> > the server and go saving each row of my data.
>
> > I test on local environment and works well, but after upload the
> > application, my script receive an error 405 Method POST not allowed.
>
> > I define my request class on server:
>
> > class BulkUpload(webapp.RequestHandler):
> >     def post(self):
> >         
> >         model.put()
>
> > On the client i'm using a script to call a url
>
> >     content_type, body = encode_multipart_formdata(fields, files)
> > #here i put all my data
> >     h = httplib.HTTP(host)
> >     h.putrequest('POST', selector)
> >     h.putheader('content-type', content_type)
> >     h.putheader('content-length', str(len(body)))
> >     h.endheaders()
> >     h.send(body)
> >     errcode, errmsg, headers = h.getreply()
>
> > 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-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: using GAE to serve largely static files for an AJAX based application.

2008-11-12 Thread yejun

XHR require the host name be exactly same. So you have to server your
page and xml both off same server.

On Nov 12, 4:49 am, "bryan rasmussen" <[EMAIL PROTECTED]>
wrote:
> As per the subject:
>
> I have an ajax based application, I figured I could offload some of
> the static XML files I need to serve via XHR off to GAE, then when I
> am doing a new XHR request check for a file, if that file does not
> return 200 I am currently not accessing GAE so switch to some other
> service. Does this seem reasonable. Another problem is obviously that
> I will need to do some DNS settings to make sure that I can serve my
> initial request from my domain and then get further requests via  XHR
> from app engine. Has anyone tried a similar setup or have suggestions,
> note problems with the approach?
>
> Thanks,
> Bryan Rasmussen
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: using GAE to serve largely static files for an AJAX based application.

2008-11-12 Thread Barry Hunter

Not strictly true. Subdomains can talk to each other (or least they
could, havent used this technique for a while now)

http://fettig.net/weblog/2005/11/28/how-to-make-xmlhttprequest-connections-to-another-server-in-your-domain/



On Wed, Nov 12, 2008 at 4:54 PM, yejun <[EMAIL PROTECTED]> wrote:
>
> XHR require the host name be exactly same. So you have to server your
> page and xml both off same server.
>
> On Nov 12, 4:49 am, "bryan rasmussen" <[EMAIL PROTECTED]>
> wrote:
>> As per the subject:
>>
>> I have an ajax based application, I figured I could offload some of
>> the static XML files I need to serve via XHR off to GAE, then when I
>> am doing a new XHR request check for a file, if that file does not
>> return 200 I am currently not accessing GAE so switch to some other
>> service. Does this seem reasonable. Another problem is obviously that
>> I will need to do some DNS settings to make sure that I can serve my
>> initial request from my domain and then get further requests via  XHR
>> from app engine. Has anyone tried a similar setup or have suggestions,
>> note problems with the approach?
>>
>> Thanks,
>> Bryan Rasmussen
> >
>



-- 
Barry

- www.nearby.org.uk - www.geograph.org.uk -

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: reference property and pickle

2008-11-12 Thread Andy Freeman

That may seem "logical", but it doesn't seem to be true.

Unless otherwise specified, and the definition of db.Model does not
include any indication of "otherwise specified", pickling an instance
of a python class pickles all of its instance data.  If that instance
data includes instances, those instances are pickled also, and so on.
(Again, unless otherwise specified.)  In other words, pickle will
quite happily include vast amounts of data.

db.ReferenceProperty s maintain two pieces of information in the
corresponding db.Model instance, one for the key and the other for the
corresponding instance.  Both can be None.  The instance is filled in
on demand or when an instance is assigned to the corresponding
reference property.  If said instance has been filled in, it will be
included in the pickle.

The datastore operations are not like pickle.  .put({instance}) and
{instance}.put() store the key (if any) for db.ReferenceProperty s and
ignores the instance (if any).

> a = db.get(key_of_a)
# at this point a.b may have a key but will not have an instance - the
datastore
# doesn't contain instances for reference properties
# pickle.dumps(a) doesn't include an instance for a.b because a.b
doesn't have one.
> c = pickle.dumps(a)
> d = pickle.loads(c)
# immediately after the loads, d.b has a key but there's no instance
because there
# was no instance in the reference property of the pickled instance
# However, the following reference to d.b will cause an instance fetch
if the key is good
> e = d.b

# if the above instance fetch succeeded, the following will pickle the
both the instance
# and the key for d.b because the d.b reference caused a datastore
fetch and saved the result
# in d
f = pickle.dumps(d)

On Nov 11, 11:55 pm, gops <[EMAIL PROTECTED]> wrote:
> Ok , What seems logical is , it won't pickle the entity instance ,
> instead it just pickle the key , ( because , if there is a reference
> property in to that reference property , the chain reaction could make
> pickle whole the database.. :D ).
>
> On Nov 12, 12:43 pm, gops <[EMAIL PROTECTED]> wrote:
>
>
>
> > sorry typo in above post in code in last line ,
>
> > a = db.get(key_of_a)
> > c = pickle.dumps(a)
> > d = pickle.loads(c)
> > e = d.b # will gae fetch b behind the scene or it is already available
> > as an instance. ??- Hide quoted text -
>
> - Show quoted text -
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: How to fix pickling error

2008-11-12 Thread sirdarckcat

Hi!

Im having the same problem on adding stuff to memcache!

The error log shows it started 10 hours ago, and it hasnt been fixed
since then.

Do you guys think it'll be fixed?

Greetings!!

On Nov 12, 12:48 am, benben <[EMAIL PROTECTED]> wrote:
> First ,thanks Marzia Niccolai for his email  .
>
> Today ,my app get picklingerror. Lot's of those errors in admin
> control panel .
> “PicklingError: Can't pickle : it's not found
> as __builtin__.instancemethod”
>
> This error throw  out when set a query object into memcache .
>
> Do not use " Link.all().order('-weight')" to get all the data in Link
> table , just use "Link.gql('ORDER BY weight desc').fetch(100)". it
> will fix this error .
>
> good luck .

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] IE can't display GAE web page while firefox can

2008-11-12 Thread stack

Hi, I'm developing an app on GAE. At first, I was using web framework
from GAE, everything was fine. Then I started using django framework
and followed the instructions of an article from official site of GAE
(Running Django on Google App Engine), then strange things happened.

All my dynamic web page(which is handled by a python script and
rendered through a django template) can display on firefox, everything
is ok, however, none of them can display on IE, the strange part is
I'm sure IE has already got the content of the web page, css files and
other stuff.

At first, I thought, maybe it just happened because i used a
dev_server of GAE, then I update the app to GAE, still the same.

Then I checked html request/response(static file can all be displayed
by IE),  and found nothing unusual, for example
this is request/response for a dynamic web page
GET / HTTP/1.1
Accept: */*
Accept-Language: zh-cn
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET
CLR 1.1.4322; .NET CLR 2.0.50727)
Host: localhost:8080
Connection: Keep-Alive

HTTP/1.0 200 OK
Server: Development/1.0 Python/2.5.1
Date: Wed, 12 Nov 2008 13:24:53 GMT
Content-Type: text/html; charset=utf-8
Cache-Control: no-cache
content-length: 2701

this is request/response for static html file:
GET /htdocs/help.html HTTP/1.1
Accept: */*
Accept-Language: zh-cn
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET
CLR 1.1.4322; .NET CLR 2.0.50727)
Host: localhost:8080
Connection: Keep-Alive

HTTP/1.0 200
Server: Development/1.0 Python/2.5.1
Date: Wed, 12 Nov 2008 13:34:43 GMT
Content-type: text/html
Expires: Wed, 19 Nov 2008 13:34:43 GMT
Cache-Control: public, max-age=604800
content-length: 263

they all look the same to me. Anyone could think of solution to this
problem? Any help would be appreciated. Thanks very much!

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] User login problem

2008-11-12 Thread Giacomo Cucciati

Hi all!

I have a problem linked to the user login...

My web application should work in this way:
-an external user visits my web page were there are some links
-each of these shows a list of my documents (using Docs API)
-each doc title, shown in the list, is a link to the doc content

Now, when i have updated my application (by appcfg.py command) I have
seen
that an external user has to login with his google account whene he
clicks on a link to obtain
just the list of my docs, otherwise an authentication error occours.
The credentials of my account for the client login (mail and password)
are inserted in the code so it isn't their fault.
I know there is the users.create_login_url(self.request.uri)
function... but is there a way to avoid the user login page or to
create a fake user (to insert in the code as the previous one) so that
everyone can see my document list?

I'm not sure to have explaned clearly the problem...

Thank you!

Giacomo

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] app.appspot.com deployment and running

2008-11-12 Thread Costas

I have uploaded my app with the name gklm
with the app.yaml:

application: gklm
version: 1
runtime: python
api_version: 1

handlers:
- url: /.*
  script: helloCostas.py

I have also created an application to the appengine server with the
app_id: gklm
 I expect to run my app through browser at:

http://gklm.appspot.com

What do I do wrong and I can't see it?

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] import nltk libraries in appengine

2008-11-12 Thread alexarsh

Hello,

I have appengine project and I would like to use nltk libraries.
Can someone give me a step by step instructions how to include nltk
libraries to my project in order to be able to do "import nltk" from
my appengine project?

Thanks, Alex Arshavski.

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Any way to create dynamic file

2008-11-12 Thread Masa


I'd like to experiment with a site creating some statistical figures
on the fly. People could see them on the website, but for offline
analysis it'd be extremely important also to offer the statistics as
downloadable, customized files.

I've already solved how the create the information content. The
problem I have at the moment is how to provide the users a way to
download the statistics as an Excel file. I've experimented with
pyExcelrator and can get a desired outcome with it. The problem with
GAE is that I can't save the outcome Excel to be downloaded as file.

If I could someway, get the result of pyExcelrator to Blob instead of
file, I could easily offer it as a downloadable file. Do you think
that is possible to do somehow?

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] using GAE to serve largely static files for an AJAX based application.

2008-11-12 Thread bryan rasmussen

As per the subject:

I have an ajax based application, I figured I could offload some of
the static XML files I need to serve via XHR off to GAE, then when I
am doing a new XHR request check for a file, if that file does not
return 200 I am currently not accessing GAE so switch to some other
service. Does this seem reasonable. Another problem is obviously that
I will need to do some DNS settings to make sure that I can serve my
initial request from my domain and then get further requests via  XHR
from app engine. Has anyone tried a similar setup or have suggestions,
note problems with the approach?

Thanks,
Bryan Rasmussen

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: How to fix pickling error

2008-11-12 Thread Marzia Niccolai
Hi,

What is the error that you are seeing?  And what are you trying to add to
Memcache?

Our engineers are looking in to fixing this issue with Memcache, but it's
usually not advisable to put a query object in Memcache, one almost always
wants to store the results of the query.  If this is not the cause of the
issue you are seeing, please let me know.

-Marzia

On Wed, Nov 12, 2008 at 5:48 AM, sirdarckcat <[EMAIL PROTECTED]> wrote:

>
> Hi!
>
> Im having the same problem on adding stuff to memcache!
>
> The error log shows it started 10 hours ago, and it hasnt been fixed
> since then.
>
> Do you guys think it'll be fixed?
>
> Greetings!!
>
> On Nov 12, 12:48 am, benben <[EMAIL PROTECTED]> wrote:
> > First ,thanks Marzia Niccolai for his email  .
> >
> > Today ,my app get picklingerror. Lot's of those errors in admin
> > control panel .
> > "PicklingError: Can't pickle : it's not found
> > as __builtin__.instancemethod"
> >
> > This error throw  out when set a query object into memcache .
> >
> > Do not use " Link.all().order('-weight')" to get all the data in Link
> > table , just use "Link.gql('ORDER BY weight desc').fetch(100)". it
> > will fix this error .
> >
> > good luck .
>
> >
>

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Any way to create dynamic file

2008-11-12 Thread yejun

Set the content-type in headers to 'application/octet-stream' for
download or 'application/vnd.ms-excel' for excel browser.
You may also set content-disposition headers as well.


On Nov 12, 6:36 am, Masa <[EMAIL PROTECTED]> wrote:
> I'd like to experiment with a site creating some statistical figures
> on the fly. People could see them on the website, but for offline
> analysis it'd be extremely important also to offer the statistics as
> downloadable, customized files.
>
> I've already solved how the create the information content. The
> problem I have at the moment is how to provide the users a way to
> download the statistics as an Excel file. I've experimented with
> pyExcelrator and can get a desired outcome with it. The problem with
> GAE is that I can't save the outcome Excel to be downloaded as file.
>
> If I could someway, get the result of pyExcelrator to Blob instead of
> file, I could easily offer it as a downloadable file. Do you think
> that is possible to do somehow?
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: app.appspot.com deployment and running

2008-11-12 Thread Marzia Niccolai
Hi,

When I go to that URL I see:

Hello, email :[EMAIL PROTECTED]

So there is an application running.  If you are having issues, you may wish
to look at your logs, which you can find here:
https://appengine.google.com/logs?&app_id=gklm

-Marzia

On Wed, Nov 12, 2008 at 4:00 AM, Costas <[EMAIL PROTECTED]> wrote:

>
> I have uploaded my app with the name gklm
> with the app.yaml:
>
> application: gklm
> version: 1
> runtime: python
> api_version: 1
>
> handlers:
> - url: /.*
>  script: helloCostas.py
>
> I have also created an application to the appengine server with the
> app_id: gklm
>  I expect to run my app through browser at:
>
> http://gklm.appspot.com
>
> What do I do wrong and I can't see it?
>
> >
>

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Exploding Indexes - trying to understand

2008-11-12 Thread johnP

Let's say I have the following model:

class Person(db.Model):
name = db.StringProperty()
country_clubs = db.ListProperty(db.Key)
credit_cards = db.ListProperty(db.Key)


Where the person can belong to 10 different country clubs, and can
have 15 different credit cards.  Does this lead to exploding indexes?


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: How to fix pickling error

2008-11-12 Thread Marzia Niccolai
If you are seeing this error message in your logs:

PicklingError: Can't pickle : it's not found as
__builtin__.instancemethod

This indicates that you are storing a query object in Memcache, which is
currently causing issues.  The fix that benben suggested will fix this
issue.

-Marzia

On Wed, Nov 12, 2008 at 9:45 AM, gg <[EMAIL PROTECTED]> wrote:

>
> Same problem here on:
>
> econe.appspot.com
> bwork.appspot.com
>
> On Nov 12, 9:41 am, Marzia Niccolai <[EMAIL PROTECTED]> wrote:
> > Hi,
> >
> > What is the error that you are seeing?  And what are you trying to add to
> > Memcache?
> >
> > Our engineers are looking in to fixing this issue with Memcache, but it's
> > usually not advisable to put a query object in Memcache, one almost
> always
> > wants to store the results of the query.  If this is not the cause of the
> > issue you are seeing, please let me know.
> >
> > -Marzia
> >
> > On Wed, Nov 12, 2008 at 5:48 AM, sirdarckcat <[EMAIL PROTECTED]>
> wrote:
> >
> > > Hi!
> >
> > > Im having the same problem on adding stuff to memcache!
> >
> > > The error log shows it started 10 hours ago, and it hasnt been fixed
> > > since then.
> >
> > > Do you guys think it'll be fixed?
> >
> > > Greetings!!
> >
> > > On Nov 12, 12:48 am, benben <[EMAIL PROTECTED]> wrote:
> > > > First ,thanks Marzia Niccolai for his email  .
> >
> > > > Today ,my app get picklingerror. Lot's of those errors in admin
> > > > control panel .
> > > > "PicklingError: Can't pickle : it's not found
> > > > as __builtin__.instancemethod"
> >
> > > > This error throw  out when set a query object into memcache .
> >
> > > > Do not use " Link.all().order('-weight')" to get all the data in Link
> > > > table , just use "Link.gql('ORDER BY weight desc').fetch(100)". it
> > > > will fix this error .
> >
> > > > good luck .
> >
>

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: reference property and pickle

2008-11-12 Thread Andy Freeman

pickle.dumps(a) returns a str that is somewhat readable, so why not
look at it?  (pickle.dumps(v, n) is readable when n=0, the default.)

In the following, c will not include the instance corresponding to a.b
- it will just have the key (if any) because a came directly from the
datastore.

If e is not None after "e = d.b", look at pickle.dumps(d).  You'll see
an instance and a key for d.b.  (They'll be stored in different
instance variables - I think that the key will be in "_b" and the
instance will be in "__RESOLVED_b".)

If f is not None after "f = a.b", you'll see both an instance and a
key in pickle.dumps(a).  (Do "f = a.b" after "c = pickle.dumps(a)".)

On Nov 11, 11:43 pm, gops <[EMAIL PROTECTED]> wrote:
> sorry typo in above post in code in last line ,
>
> a = db.get(key_of_a)
> c = pickle.dumps(a)
> d = pickle.loads(c)
> e = d.b # will gae fetch b behind the scene or it is already available
> as an instance. ??
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Any way to create dynamic file

2008-11-12 Thread Calvin Spealman


Consider looking at anything the docs api provides to generate spreadsheets, 
from which your users could export a number of formats (or possibly you 
could) or just give them csv

On Nov 12, 2008 12:34 PM, "Masa" <[EMAIL PROTECTED]> wrote:



I'd like to experiment with a site creating some statistical figures
on the fly. People could see them on the website, but for offline
analysis it'd be extremely important also to offer the statistics as
downloadable, customized files.

I've already solved how the create the information content. The
problem I have at the moment is how to provide the users a way to
download the statistics as an Excel file. I've experimented with
pyExcelrator and can get a desired outcome with it. The problem with
GAE is that I can't save the outcome Excel to be downloaded as file.

If I could someway, get the result of pyExcelrator to Blob instead of
file, I could easily offer it as a downloadable file. Do you think
that is possible to do somehow?



--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: How to fix pickling error

2008-11-12 Thread gg

Same problem here on:

econe.appspot.com
bwork.appspot.com

On Nov 12, 9:41 am, Marzia Niccolai <[EMAIL PROTECTED]> wrote:
> Hi,
>
> What is the error that you are seeing?  And what are you trying to add to
> Memcache?
>
> Our engineers are looking in to fixing this issue with Memcache, but it's
> usually not advisable to put a query object in Memcache, one almost always
> wants to store the results of the query.  If this is not the cause of the
> issue you are seeing, please let me know.
>
> -Marzia
>
> On Wed, Nov 12, 2008 at 5:48 AM, sirdarckcat <[EMAIL PROTECTED]> wrote:
>
> > Hi!
>
> > Im having the same problem on adding stuff to memcache!
>
> > The error log shows it started 10 hours ago, and it hasnt been fixed
> > since then.
>
> > Do you guys think it'll be fixed?
>
> > Greetings!!
>
> > On Nov 12, 12:48 am, benben <[EMAIL PROTECTED]> wrote:
> > > First ,thanks Marzia Niccolai for his email  .
>
> > > Today ,my app get picklingerror. Lot's of those errors in admin
> > > control panel .
> > > "PicklingError: Can't pickle : it's not found
> > > as __builtin__.instancemethod"
>
> > > This error throw  out when set a query object into memcache .
>
> > > Do not use " Link.all().order('-weight')" to get all the data in Link
> > > table , just use "Link.gql('ORDER BY weight desc').fetch(100)". it
> > > will fix this error .
>
> > > good luck .
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Any way to create dynamic file

2008-11-12 Thread yejun

If pyExcelrator can save data to file, I guess it would possibly save
to StringIO as well.

On Nov 12, 12:51 pm, "Calvin Spealman" <[EMAIL PROTECTED]> wrote:
> Consider looking at anything the docs api provides to generate spreadsheets,
> from which your users could export a number of formats (or possibly you
> could) or just give them csv
>
> On Nov 12, 2008 12:34 PM, "Masa" <[EMAIL PROTECTED]> wrote:
>
> I'd like to experiment with a site creating some statistical figures
> on the fly. People could see them on the website, but for offline
> analysis it'd be extremely important also to offer the statistics as
> downloadable, customized files.
>
> I've already solved how the create the information content. The
> problem I have at the moment is how to provide the users a way to
> download the statistics as an Excel file. I've experimented with
> pyExcelrator and can get a desired outcome with it. The problem with
> GAE is that I can't save the outcome Excel to be downloaded as file.
>
> If I could someway, get the result of pyExcelrator to Blob instead of
> file, I could easily offer it as a downloadable file. Do you think
> that is possible to do somehow?
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Exploding Indexes - trying to understand

2008-11-12 Thread yejun

It only explodes if you query them together. but I guess you don't
need to query credit_cards with country_clubs at the same time, since
credit_cards will be unique.

On Nov 12, 12:49 pm, johnP <[EMAIL PROTECTED]> wrote:
> Let's say I have the following model:
>
> class Person(db.Model):
>     name = db.StringProperty()
>     country_clubs = db.ListProperty(db.Key)
>     credit_cards = db.ListProperty(db.Key)
>
> Where the person can belong to 10 different country clubs, and can
> have 15 different credit cards.  Does this lead to exploding indexes?
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Any way to create dynamic file

2008-11-12 Thread Masa


Yes, I can write also to StringIO. I tried something like this:

xlfile = StringIO()
wb.save(xlfile)

But anyhow I get the same error message - since GAE seems to not like
certain file opening modes:

raise IOError('invalid mode: %s' % mode)
IOError: invalid mode: wb



yejun wrote:
> If pyExcelrator can save data to file, I guess it would possibly save
> to StringIO as well.
>
> On Nov 12, 12:51�pm, "Calvin Spealman" <[EMAIL PROTECTED]> wrote:
> > Consider looking at anything the docs api provides to generate spreadsheets,
> > from which your users could export a number of formats (or possibly you
> > could) or just give them csv
> >
> > On Nov 12, 2008 12:34 PM, "Masa" <[EMAIL PROTECTED]> wrote:
> >
> > I'd like to experiment with a site creating some statistical figures
> > on the fly. People could see them on the website, but for offline
> > analysis it'd be extremely important also to offer the statistics as
> > downloadable, customized files.
> >
> > I've already solved how the create the information content. The
> > problem I have at the moment is how to provide the users a way to
> > download the statistics as an Excel file. I've experimented with
> > pyExcelrator and can get a desired outcome with it. The problem with
> > GAE is that I can't save the outcome Excel to be downloaded as file.
> >
> > If I could someway, get the result of pyExcelrator to Blob instead of
> > file, I could easily offer it as a downloadable file. Do you think
> > that is possible to do somehow?
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] connection to appengine.google.com often times out

2008-11-12 Thread lws68825

I am in China. My attempt to connect to appengine.google.com often
fails. Does anyone in China have the same experience? Can someone
point out the reason?
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Any way to create dynamic file

2008-11-12 Thread Masa


Calvin Spealman wrote:
> Consider looking at anything the docs api provides to generate spreadsheets,
> from which your users could export a number of formats (or possibly you
> could) or just give them csv

Yes, it seems that I need to do something like that. I'd better dig
into the API this evening. Thanks!


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Background image not showing in Firefox when accessed through dev_appserver

2008-11-12 Thread aunindo

Hi,

In html template, I have some background images through inline css in
the table tag.

style="background-image: url('images/aboout_us.jpeg')"

There four such tables in the template, each one having different
background images, size ranging from 5KB to 60KB.

The images show up properly in Firefox if the page is directly viewed
through file protocol or if accessed from Apache server.
It also shows up properly when accessed from dev_Appserver and viewed
in IE.
But when it is accessed from dev_appserver and viewed in firefox, the
behavior is erratic. All the four images do not show up at the same
time, and on repeated refresh of the browser, none, any one or more of
the images will show up and others would not show. Out of the four
anyone can show up and there is no co-relation with the size of the
image.

Evidently it is not a coding error, as the behavior is not consistent.
My hunch is that it is something to do with how firefox is requesting
for the images and how dev_appserver is responding to the same.

>From the debug messages on the dev_appserver,  the GET of the images
do now show up in a regular order when accessed from firefox. But it
is very consistent and properly ordered, when accessed from the IE.

Can anyone please help me in understanding what is happening and what
might be the remedy?

Thanks in advance.

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] downloading and editing app database

2008-11-12 Thread adrian


I'd like to be able to do both of the following:

1. Download my app datastore so I can analyze it locally.

2.  Create a separate app that can modify my app datastore.   This is
sort of like the AppEngine Dashboard data viewer but with the ability
to add entries with a user interface that is convenient for my data.

Are these possible?

Thanks
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Querying Ascending, Listing Descending

2008-11-12 Thread sternr

Hey,
Suppose I created a query that returns the last 100 (using the fetch
method) rows ordered by Date in descending order.

Is it possible to start looping the query object from the end (so the
listing would be in ascending order)?

Thanks ahead!

--sternr
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Reminder: Scheduled Maintenance This Evening

2008-11-12 Thread heidmotron

When I try to memcache django's QueryPaginator object I'm getting:

PicklingError: Can't pickle : it's not found as
__builtin__.instancemethod

It was working before yesterday. Is there something new I should be
doing?

On Nov 11, 11:30 pm, Arun Shanker Prasad <[EMAIL PROTECTED]>
wrote:
> Hi,
>
>   Still getting the same error even with setting the value in a list.
>
> Thanks,
> Arun Shanker Prasad.
>
> On Nov 12, 11:22 am, Arun Shanker Prasad <[EMAIL PROTECTED]>
> wrote:
>
> > Hi,
>
> >  Regarding you option to set the value as a list this is not causing
> > any issue and got it working by changing the code. Was this modified
> > during the current modification? Because I can still get the same code
> > to work in the SDK..
>
> > Thanks,
> > Arun Shanker Prasad.
>
> > On Nov 12, 10:32 am, Marzia Niccolai <[EMAIL PROTECTED]> wrote:
>
> > > It seems like this error is most likely caused as the result of pickling a
> > > Query object instead of the results of a query.  Are engineering team is
> > > looking in to this issue.
>
> > > -Marzia
>
> > > On Tue, Nov 11, 2008 at 9:20 PM, Arun Shanker Prasad <
>
> > > [EMAIL PROTECTED]> wrote:
>
> > > > Hi,
>
> > > >  My app id is space1. I am putting the parentModel.child_set list
> > > > into memcahce.
>
> > > > Thanks,
> > > > Arun Shanker Prasad.
>
> > > > On Nov 12, 10:16 am, Marzia Niccolai <[EMAIL PROTECTED]> wrote:
> > > > > Also, what are you placing in Memcache when your application is 
> > > > > showing
> > > > this
> > > > > error?
>
> > > > > -Marzia
>
> > > > > On Tue, Nov 11, 2008 at 9:15 PM, Marzia Niccolai <[EMAIL PROTECTED]>
> > > > wrote:
> > > > > > Hi,
>
> > > > > > What is the app id that is experiencing this issue?
>
> > > > > > -Marzia
>
> > > > > > On Tue, Nov 11, 2008 at 9:13 PM, Arun Shanker Prasad <
> > > > > > [EMAIL PROTECTED]> wrote:
>
> > > > > >> Hi,
> > > > > >>       Also the error I got was "PicklingError" during the memcache
> > > > > >> set. This was working last night
> > > > > >> Thanks,
> > > > > >> Arun Shanker Prasad.
>
> > > > > >> On Nov 12, 9:54 am, Marzia Niccolai <[EMAIL PROTECTED]> wrote:
> > > > > >> > Hi,
>
> > > > > >> > Another issue occurred during scheduled maintenance tonight, 
> > > > > >> > which
> > > > is
> > > > > >> not
> > > > > >> > related to the issue mentioned above.
>
> > > > > >> > This issue affected objects stored in Memcache.  If your 
> > > > > >> > application
> > > > was
> > > > > >> > affected by this error, you would not have been individually
> > > > emailed.
>
> > > > > >> > If your application is currently experiencing issues, it is most
> > > > likely
> > > > > >> > related to the Memcache issue which our engineering team is
> > > > currently
> > > > > >> > investigating.  You should see an AttributeError in your
> > > > application's
> > > > > >> logs.
>
> > > > > >> > We expect this issue will be fixed shortly.
>
> > > > > >> > -Marzia
>
> > > > > >> > On Tue, Nov 11, 2008 at 8:24 PM, Gayle Laakmann <[EMAIL 
> > > > > >> > PROTECTED]>
> > > > > >> wrote:
>
> > > > > >> > > My site (http://www.careercup.com) is down.  I did not get an
> > > > email.
>
> > > > > >> > > On Nov 11, 7:44 pm, Marzia Niccolai <[EMAIL PROTECTED]> wrote:
> > > > > >> > > > Hi,
>
> > > > > >> > > > Our engineers are working as quickly as possible to restore
> > > > > >> > > functionality.
> > > > > >> > > > A small number of applications, which include the Admin 
> > > > > >> > > > Console,
> > > > are
> > > > > >> > > > affected by this outage.  If your application was affected, 
> > > > > >> > > > you
> > > > > >> should
> > > > > >> > > have
> > > > > >> > > > received an email directly from our engineers to the 
> > > > > >> > > > developers
> > > > > >> listed in
> > > > > >> > > > your admin console.
>
> > > > > >> > > > -Marzia
>
> > > > > >> > > > On Tue, Nov 11, 2008 at 7:26 PM, Gee <[EMAIL PROTECTED]> 
> > > > > >> > > > wrote:
>
> > > > > >> > > > > Thanks for the update...
>
> > > > > >> > > > > Any chance of helping us get our apps back online?  (
> > > > rotzy.com)
>
> > > > > >> > > > > I can deal with console being down :-)  but my app is 
> > > > > >> > > > > 404ing
> > > > too
> > > > > >> :-(
>
> > > > > >> > > > > thanks!!
>
> > > > > >> > > > > On Nov 11, 7:09 pm, Marzia Niccolai <[EMAIL PROTECTED]> 
> > > > > >> > > > > wrote:
> > > > > >> > > > > > Hi,
>
> > > > > >> > > > > > The admin console is currently down.  More information 
> > > > > >> > > > > > will
> > > > be
> > > > > >> posted
> > > > > >> > > to
> > > > > >> > > > > > Downtime Notify soon.
>
> > > > > >> > > > > > -Marzia
>
> > > > > >> > > > > > On Tue, Nov 11, 2008 at 7:03 PM, Alexander Kojevnikov <
>
> > > > > >> > > > > > [EMAIL PROTECTED]> wrote:
>
> > > > > >> > > > > > > My website works ATM:
> > > > > >> > > > > > >www.muspy.com
>
> > > > > >> > > > > > > appengine.google.com returns 404
>
> > > > > >> > > > > > > On Nov 12, 1:56 pm, Gee <[EMAIL PROTECTED]> wrote:
> > > > > >> > > > > > > > 6:55pm - is appeng

[google-appengine] Re: Background image not showing in Firefox when accessed through dev_appserver

2008-11-12 Thread Sylvain

http://code.google.com/appengine/docs/configuringanapp.html#Static_File_Handlers

add a "default_expiration"

regards

On 12 nov, 19:20, aunindo <[EMAIL PROTECTED]> wrote:
> Hi,
>
> In html template, I have some background images through inline css in
> the table tag.
>
> style="background-image: url('images/aboout_us.jpeg')"
>
> There four such tables in the template, each one having different
> background images, size ranging from 5KB to 60KB.
>
> The images show up properly in Firefox if the page is directly viewed
> through file protocol or if accessed from Apache server.
> It also shows up properly when accessed from dev_Appserver and viewed
> in IE.
> But when it is accessed from dev_appserver and viewed in firefox, the
> behavior is erratic. All the four images do not show up at the same
> time, and on repeated refresh of the browser, none, any one or more of
> the images will show up and others would not show. Out of the four
> anyone can show up and there is no co-relation with the size of the
> image.
>
> Evidently it is not a coding error, as the behavior is not consistent.
> My hunch is that it is something to do with how firefox is requesting
> for the images and how dev_appserver is responding to the same.
>
> From the debug messages on the dev_appserver,  the GET of the images
> do now show up in a regular order when accessed from firefox. But it
> is very consistent and properly ordered, when accessed from the IE.
>
> Can anyone please help me in understanding what is happening and what
> might be the remedy?
>
> Thanks in advance.
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Querying Ascending, Listing Descending

2008-11-12 Thread Rodrigo Moraes

On Wed, Nov 12, 2008 at 5:23 PM, sternr wrote:
> Is it possible to start looping the query object from the end (so the
> listing would be in ascending order)?

hmmm, not sure if i understood the problem, but maybe you just want to
sort the results after the fetch()? the result is simply a list, so it
you can use list methods to sort it.

-- rodrigo

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Reminder: Scheduled Maintenance This Evening

2008-11-12 Thread Marzia Niccolai
Hi,

You will need to store the results of the Query, instead of the
QueryPaginator itself.

-Marzia

On Wed, Nov 12, 2008 at 11:58 AM, heidmotron <[EMAIL PROTECTED]>wrote:

>
> When I try to memcache django's QueryPaginator object I'm getting:
>
> PicklingError: Can't pickle : it's not found as
> __builtin__.instancemethod
>
> It was working before yesterday. Is there something new I should be
> doing?
>
> On Nov 11, 11:30 pm, Arun Shanker Prasad <[EMAIL PROTECTED]>
> wrote:
> > Hi,
> >
> >   Still getting the same error even with setting the value in a list.
> >
> > Thanks,
> > Arun Shanker Prasad.
> >
> > On Nov 12, 11:22 am, Arun Shanker Prasad <[EMAIL PROTECTED]>
> > wrote:
> >
> > > Hi,
> >
> > >  Regarding you option to set the value as a list this is not causing
> > > any issue and got it working by changing the code. Was this modified
> > > during the current modification? Because I can still get the same code
> > > to work in the SDK..
> >
> > > Thanks,
> > > Arun Shanker Prasad.
> >
> > > On Nov 12, 10:32 am, Marzia Niccolai <[EMAIL PROTECTED]> wrote:
> >
> > > > It seems like this error is most likely caused as the result of
> pickling a
> > > > Query object instead of the results of a query.  Are engineering team
> is
> > > > looking in to this issue.
> >
> > > > -Marzia
> >
> > > > On Tue, Nov 11, 2008 at 9:20 PM, Arun Shanker Prasad <
> >
> > > > [EMAIL PROTECTED]> wrote:
> >
> > > > > Hi,
> >
> > > > >  My app id is space1. I am putting the parentModel.child_set list
> > > > > into memcahce.
> >
> > > > > Thanks,
> > > > > Arun Shanker Prasad.
> >
> > > > > On Nov 12, 10:16 am, Marzia Niccolai <[EMAIL PROTECTED]> wrote:
> > > > > > Also, what are you placing in Memcache when your application is
> showing
> > > > > this
> > > > > > error?
> >
> > > > > > -Marzia
> >
> > > > > > On Tue, Nov 11, 2008 at 9:15 PM, Marzia Niccolai <
> [EMAIL PROTECTED]>
> > > > > wrote:
> > > > > > > Hi,
> >
> > > > > > > What is the app id that is experiencing this issue?
> >
> > > > > > > -Marzia
> >
> > > > > > > On Tue, Nov 11, 2008 at 9:13 PM, Arun Shanker Prasad <
> > > > > > > [EMAIL PROTECTED]> wrote:
> >
> > > > > > >> Hi,
> > > > > > >>   Also the error I got was "PicklingError" during the
> memcache
> > > > > > >> set. This was working last night
> > > > > > >> Thanks,
> > > > > > >> Arun Shanker Prasad.
> >
> > > > > > >> On Nov 12, 9:54 am, Marzia Niccolai <[EMAIL PROTECTED]> wrote:
> > > > > > >> > Hi,
> >
> > > > > > >> > Another issue occurred during scheduled maintenance tonight,
> which
> > > > > is
> > > > > > >> not
> > > > > > >> > related to the issue mentioned above.
> >
> > > > > > >> > This issue affected objects stored in Memcache.  If your
> application
> > > > > was
> > > > > > >> > affected by this error, you would not have been individually
> > > > > emailed.
> >
> > > > > > >> > If your application is currently experiencing issues, it is
> most
> > > > > likely
> > > > > > >> > related to the Memcache issue which our engineering team is
> > > > > currently
> > > > > > >> > investigating.  You should see an AttributeError in your
> > > > > application's
> > > > > > >> logs.
> >
> > > > > > >> > We expect this issue will be fixed shortly.
> >
> > > > > > >> > -Marzia
> >
> > > > > > >> > On Tue, Nov 11, 2008 at 8:24 PM, Gayle Laakmann <
> [EMAIL PROTECTED]>
> > > > > > >> wrote:
> >
> > > > > > >> > > My site (http://www.careercup.com) is down.  I did not
> get an
> > > > > email.
> >
> > > > > > >> > > On Nov 11, 7:44 pm, Marzia Niccolai <[EMAIL PROTECTED]>
> wrote:
> > > > > > >> > > > Hi,
> >
> > > > > > >> > > > Our engineers are working as quickly as possible to
> restore
> > > > > > >> > > functionality.
> > > > > > >> > > > A small number of applications, which include the Admin
> Console,
> > > > > are
> > > > > > >> > > > affected by this outage.  If your application was
> affected, you
> > > > > > >> should
> > > > > > >> > > have
> > > > > > >> > > > received an email directly from our engineers to the
> developers
> > > > > > >> listed in
> > > > > > >> > > > your admin console.
> >
> > > > > > >> > > > -Marzia
> >
> > > > > > >> > > > On Tue, Nov 11, 2008 at 7:26 PM, Gee <[EMAIL PROTECTED]>
> wrote:
> >
> > > > > > >> > > > > Thanks for the update...
> >
> > > > > > >> > > > > Any chance of helping us get our apps back online?  (
> > > > > rotzy.com)
> >
> > > > > > >> > > > > I can deal with console being down :-)  but my app is
> 404ing
> > > > > too
> > > > > > >> :-(
> >
> > > > > > >> > > > > thanks!!
> >
> > > > > > >> > > > > On Nov 11, 7:09 pm, Marzia Niccolai <[EMAIL PROTECTED]>
> wrote:
> > > > > > >> > > > > > Hi,
> >
> > > > > > >> > > > > > The admin console is currently down.  More
> information will
> > > > > be
> > > > > > >> posted
> > > > > > >> > > to
> > > > > > >> > > > > > Downtime Notify soon.
> >
> > > > > > >> > > > > > -Marzia
> >
> > > > > > >> > > > > > On Tue, Nov 11, 2008 at 7:03 PM, Alexander
> Kojevnikov <
> >
> > > > > > >> > >

[google-appengine] Re: doubt in users

2008-11-12 Thread jai kumar
whether www.muspy.com is running through Google 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-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Exploding Indexes - trying to understand

2008-11-12 Thread johnP

Thanks for the clarification.

On Nov 12, 9:53 am, yejun <[EMAIL PROTECTED]> wrote:
> It only explodes if you query them together. but I guess you don't
> need to query credit_cards with country_clubs at the same time, since
> credit_cards will be unique.
>
> On Nov 12, 12:49 pm, johnP <[EMAIL PROTECTED]> wrote:
>
> > Let's say I have the following model:
>
> > class Person(db.Model):
> > name = db.StringProperty()
> > country_clubs = db.ListProperty(db.Key)
> > credit_cards = db.ListProperty(db.Key)
>
> > Where the person can belong to 10 different country clubs, and can
> > have 15 different credit cards.  Does this lead to exploding indexes?
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: How to fix pickling error

2008-11-12 Thread gg

Helpful error : )
back-references modelname_set is a query

On Nov 12, 9:50 am, Marzia Niccolai <[EMAIL PROTECTED]> wrote:
> If you are seeing this error message in your logs:
>
> PicklingError: Can't pickle : it's not found as
> __builtin__.instancemethod
>
> This indicates that you are storing a query object in Memcache, which is
> currently causing issues.  The fix that benben suggested will fix this
> issue.
>
> -Marzia
>
> On Wed, Nov 12, 2008 at 9:45 AM, gg <[EMAIL PROTECTED]> wrote:
>
> > Same problem here on:
>
> > econe.appspot.com
> > bwork.appspot.com
>
> > On Nov 12, 9:41 am, Marzia Niccolai <[EMAIL PROTECTED]> wrote:
> > > Hi,
>
> > > What is the error that you are seeing?  And what are you trying to add to
> > > Memcache?
>
> > > Our engineers are looking in to fixing this issue with Memcache, but it's
> > > usually not advisable to put a query object in Memcache, one almost
> > always
> > > wants to store the results of the query.  If this is not the cause of the
> > > issue you are seeing, please let me know.
>
> > > -Marzia
>
> > > On Wed, Nov 12, 2008 at 5:48 AM, sirdarckcat <[EMAIL PROTECTED]>
> > wrote:
>
> > > > Hi!
>
> > > > Im having the same problem on adding stuff to memcache!
>
> > > > The error log shows it started 10 hours ago, and it hasnt been fixed
> > > > since then.
>
> > > > Do you guys think it'll be fixed?
>
> > > > Greetings!!
>
> > > > On Nov 12, 12:48 am, benben <[EMAIL PROTECTED]> wrote:
> > > > > First ,thanks Marzia Niccolai for his email  .
>
> > > > > Today ,my app get picklingerror. Lot's of those errors in admin
> > > > > control panel .
> > > > > "PicklingError: Can't pickle : it's not found
> > > > > as __builtin__.instancemethod"
>
> > > > > This error throw  out when set a query object into memcache .
>
> > > > > Do not use " Link.all().order('-weight')" to get all the data in Link
> > > > > table , just use "Link.gql('ORDER BY weight desc').fetch(100)". it
> > > > > will fix this error .
>
> > > > > good luck .
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: downloading and editing app database

2008-11-12 Thread Peter Recore

1.  There is no built in way to do this currently.
If you look at the issues list and look at issue 59 you might want to
star it.

http://code.google.com/p/googleappengine/issues/list

also, if you search this group for "bulk uploader" you will find a
thread linking to a bulk uploader someone wrote:
http://code.google.com/p/gawsh/


2.  would you want this interface to connect to your live app or a
local copy of your datastore?   How would this interface be different
than including a page in your app that had the appropriate interface?
You can prevent users from seeing certain pages by using the "admin"
option in your app.yaml


On Nov 12, 1:34 pm, adrian <[EMAIL PROTECTED]> wrote:
> I'd like to be able to do both of the following:
>
> 1. Download my app datastore so I can analyze it locally.
>
> 2.  Create a separate app that can modify my app datastore.   This is
> sort of like the AppEngine Dashboard data viewer but with the ability
> to add entries with a user interface that is convenient for my data.
>
> Are these possible?
>
> Thanks
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: connection to appengine.google.com often times out

2008-11-12 Thread Youngfe

I'm in china too but I'm ok.

On Nov 12, 7:08 pm, lws68825 <[EMAIL PROTECTED]> wrote:
> I am in China. My attempt to connect to appengine.google.com often
> fails. Does anyone in China have the same experience? Can someone
> point out the reason?
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: doubt in users

2008-11-12 Thread Alexander Kojevnikov

> whether www.muspy.comis running through Google App Engine

Yes
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Interesting How-to Datastore Question

2008-11-12 Thread MajorProgamming

I was wondering how to approach the following:

Suppose I have three DB Models that look something like this:

MainListOfArticles(db.Model):
articleText=db.Text
[...]

CommentsOnArticles(db.Model):
commentText=db.Text
articleRef=db.ReferenceProperty(MainListOfArticles)
userThatWrote=db.UserProperty
[...]

Users(db.Model):
userObject=db.UserProperty
[...]

Now suppose I would like to retreive all articles that the user
commented on, based on the recency of the latest comment on that
article. I.e: when a user logs in he gets a decending list of all
articles *that he commented on* sorted by how recently they were
commented on (by others).

To put it in other words: To get all articles based on the recency of
their comments would be easy: simply retrieve the comments sorted by
order descending. However, I would like a way to specifically retreive
those that the user commented on.

Another point: I want the solution to scale. Keep in mind that there
could be an infinite number of articles and users. So storing them in
an individual entity would not work. There is a 1MB limit per entity
(that probably squashes many possible solutions).

Thanks for your help,

And if I didn't explain everything correctly, please ask me to clarify
a point
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Copying local datastore

2008-11-12 Thread Nefarious

I have a new developer helping on my GAE project.  I would like him to
have a copy of the local data I already have setup.  Have any of you
moved this data?  If so, what files did you move and how did it go?

Thanks,

Mike
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Interesting How-to Datastore Question

2008-11-12 Thread Alexander Kojevnikov

Great question!

I have a somewhat similar model in my app (it's not articles but the
query is similar), here's how I do it:

I de-normalise the data specifically for this query, that is I have a
kind:

UserComment:
user = db.UserProperty()
last_commented = db.DateTimeProperty()
# de-normalised data from the article model (key, title, slug,
etc).

When the user creates a comment, I add a UserComment if it's the first
comment for the user in this article.

I also add an entity to the job queue model for background processing.
The background worker (triggered by pinging from an external box)
updates UserComment.last_commented for all users that also commented
the article.

It's far from perfect, there's a (slight) delay in update, but
otherwise it works. I'm very interested in how others would implement
this.

Alex
--
www.muspy.com

On Nov 13, 9:50 am, MajorProgamming <[EMAIL PROTECTED]> wrote:
> I was wondering how to approach the following:
>
> Suppose I have three DB Models that look something like this:
>
> MainListOfArticles(db.Model):
> articleText=db.Text
> [...]
>
> CommentsOnArticles(db.Model):
> commentText=db.Text
> articleRef=db.ReferenceProperty(MainListOfArticles)
> userThatWrote=db.UserProperty
> [...]
>
> Users(db.Model):
> userObject=db.UserProperty
> [...]
>
> Now suppose I would like to retreive all articles that the user
> commented on, based on the recency of the latest comment on that
> article. I.e: when a user logs in he gets a decending list of all
> articles *that he commented on* sorted by how recently they were
> commented on (by others).
>
> To put it in other words: To get all articles based on the recency of
> their comments would be easy: simply retrieve the comments sorted by
> order descending. However, I would like a way to specifically retreive
> those that the user commented on.
>
> Another point: I want the solution to scale. Keep in mind that there
> could be an infinite number of articles and users. So storing them in
> an individual entity would not work. There is a 1MB limit per entity
> (that probably squashes many possible solutions).
>
> Thanks for your help,
>
> And if I didn't explain everything correctly, please ask me to clarify
> a point
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Copying local datastore

2008-11-12 Thread Alexander Kojevnikov

On Windows the files are  %TEMP%\dev_appserver.datastore and
dev_appserver.datastore.history

On Mac and Linux they are probably in /tmp

Just copy them to another machine, it should do the trick.

On Nov 13, 10:06 am, Nefarious <[EMAIL PROTECTED]> wrote:
> I have a new developer helping on my GAE project.  I would like him to
> have a copy of the local data I already have setup.  Have any of you
> moved this data?  If so, what files did you move and how did it go?
>
> Thanks,
>
> Mike
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Background image not showing in Firefox when accessed through dev_appserver

2008-11-12 Thread aunindo

Thanks for the advice, but setting default_expiration does not help.
The behavior is still erratic irrespective of expiration value, be it
1 second or 1 day.

On Nov 13, 12:59 am, Sylvain <[EMAIL PROTECTED]> wrote:
> http://code.google.com/appengine/docs/configuringanapp.html#Static_Fi...
>
> add a "default_expiration"
>
> regards
>
> On 12 nov, 19:20, aunindo <[EMAIL PROTECTED]> wrote:
>
> > Hi,
>
> > In html template, I have some background images through inline css in
> > the table tag.
>
> > style="background-image: url('images/aboout_us.jpeg')"
>
> > There four such tables in the template, each one having different
> > background images, size ranging from 5KB to 60KB.
>
> > The images show up properly in Firefox if the page is directly viewed
> > through file protocol or if accessed from Apache server.
> > It also shows up properly when accessed from dev_Appserver and viewed
> > in IE.
> > But when it is accessed from dev_appserver and viewed in firefox, the
> > behavior is erratic. All the four images do not show up at the same
> > time, and on repeated refresh of the browser, none, any one or more of
> > the images will show up and others would not show. Out of the four
> > anyone can show up and there is no co-relation with the size of the
> > image.
>
> > Evidently it is not a coding error, as the behavior is not consistent.
> > My hunch is that it is something to do with how firefox is requesting
> > for the images and how dev_appserver is responding to the same.
>
> > From the debug messages on the dev_appserver,  the GET of the images
> > do now show up in a regular order when accessed from firefox. But it
> > is very consistent and properly ordered, when accessed from the IE.
>
> > Can anyone please help me in understanding what is happening and what
> > might be the remedy?
>
> > Thanks in advance.
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Copying local datastore

2008-11-12 Thread Peter Recore

also, you can maintain multiple datastore files and choose which one
to use when you run dev_appserver.  there is a switch "--
datastore_path" that lets you specify where to look for the datastore
files.

On Nov 12, 7:25 pm, Alexander Kojevnikov <[EMAIL PROTECTED]>
wrote:
> On Windows the files are  %TEMP%\dev_appserver.datastore and
> dev_appserver.datastore.history
>
> On Mac and Linux they are probably in /tmp
>
> Just copy them to another machine, it should do the trick.
>
> On Nov 13, 10:06 am, Nefarious <[EMAIL PROTECTED]> wrote:
>
> > I have a new developer helping on my GAE project.  I would like him to
> > have a copy of the local data I already have setup.  Have any of you
> > moved this data?  If so, what files did you move and how did it go?
>
> > Thanks,
>
> > Mike
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Version number looks weird after my recent upload.

2008-11-12 Thread CNBorn

Hi All,

I am running a Todolist app on AppEngine(Currently in zh_CN),
[http://checknerds.appspot.com]. But after a recent upload, I found
the version number lookss weird. Now the version number hsould be
1.89, but I get 1.329236891998284311 instead. Is there something wrong
with this? Does anybody else encountering the same problem? P.S, It
seems that the other stuff are running well.

BR,
CNBorn

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Setting timeout for urlfetch requests

2008-11-12 Thread robfig

Hello!
Part of the service I'm developing involves scraping some data via a
POST (until the data provider gets an API together).  However, it
takes longer than 5 seconds, so I constantly see: "DownloadError:
ApplicationError: 5" when running from appspot.  Is there any way
around this?
Thanks,
Rob


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---



[google-appengine] Re: Concurrency Control in the datastore

2008-11-12 Thread DXD

Thanks Alexander.

So now this is my guess about the rules of the datastore's timestamp-
based scheduler. If someone could, pls correct where I'm wrong in here
(basically I consolidated the theoretical timestamp-based scheduler
with what I understand from Ryan's presentation):

Each transaction T is assigned a timestamp TS(T) at startup. Each root
entity R is given a read timestamp RTS(R) and a committed  timestamp
CTS(R) (this is the timestamp mentioned in Ryan's presentation).

1. Transaction T wants to read some entity X whose root is R (X and R
may or may not be the same).
a). If TS(T) > CTS(R): T goes ahead and performs the read
(retrieved data from X is respective to CTS(R)). If TS(T) > RTS(R),
set RTS(R) := TS(T); otherwise leave RTS(R) intact.
b). If TS(T) < CTS(R): invalid read. Rollback T (abort T and
restart it with a new, larger timestamp).

2. T wants to write X.
a). If TS(T) >= RTS(R) and TS(T) > CTS(R): T performs the write to
X including writing the journal in R and applying that journal to X,
excluding setting the new value for CTS(R).
b). If TS(T) >= RTS(R), but TS(T) < CTS(R): the Thomas write rule
applies here. The write by T is ignored. T is allowed to proceed
without making change to R and X.
c). if TS(T) < RTS(R): invalid write. T must be rolled back.

3. T completes all its actions and now wants to commit. If CTS(R) at
this point is still the same as when T started, it is set to TS(T); T
effectively gets committed. If CTS(R) has changed, T must be rolled
back.

Note that in rolling back:
- If T has changed RTS(R), the old value must be restored.
- T may be retried at most n number of times (currently n is set to
4?).

I'd appreciate if someone could give comments asap on what I outlined
above.

Thanks a lot,
David.
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en
-~--~~~~--~~--~--~---