[google-appengine] Re: how to submit form from static index.html
here is how i have setup the app.yaml, email.py and form.html, let me know whats wrong ??, how should i setup handler for email.py in app.yaml ?? OK, here's how you can do it. app.yaml: - handlers: - url: /send-email script: email.py - url: (.*)/ static_files: static\1/index.html upload: static/index.html - url: / static_dir: static - email.py: from google.appengine.api import mail from google.appengine.ext import webapp from google.appengine.ext.webapp.util import run_wsgi_app class SendEmail(webapp.RequestHandler): def post(self): user_address = self.request.get('address') if mail.is_email_valid(user_address): sender_address = 'y...@example.com' subject = 'test' body = test email mail.send_mail(sender_address, user_address, subject, body) self.redirect('/form.html') application = webapp.WSGIApplication([('/send-email', SendEmail)], debug=True) def main(): run_wsgi_app(application) if __name__ == __main__: main() form.html: - form action=/send-email method=post Email: input name=address type=text/ input type=submit value=Send/ /form - I didn't test it, let me know if something doesn't work. Regarding this line in your original code: # prompt user to enter a valid address You have quite a few options, the easiest one is probably to redirect to a static page containing an error message and a link back to the email form. Other options will probably involve templates or and/or some javascript. Also note that the sender_address must be the administrator of your app or the currently signed in user: http://code.google.com/appengine/docs/mail/overview.html Hope this helps. -- www.muspy.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: Difficulty Serving Static Image with static_files handler
I'm having the same problem. The strange thing is that I have other static content that serves up just fine. It seems only the images I tried to add today are not found. Let me know if you come up with anything. -dk On Dec 15, 11:31 pm, Dylan Lorimer write2dy...@gmail.com wrote: Hi Marzia - Thanks for your reply. So unfortunately I don't that the order of the app.yaml entries is the culprit. Here's my app.yaml: handlers: - url: /photos/(.*)/(.*\.(gif|png|jpg)) static_files: static/photos/\1/\2 upload: static/photos/(.*)/(.*\.(gif|png|jpg)) - url: /css static_dir: static/css - url: /images static_dir: static/images - url: /js static_dir: static/js - url: /post script: main.py login: admin - url: /.* script: main.py My site is live @http://www.jaceyphotographs.com. You can see the blog entry with missing img, and if you check the source you'll see the img URL that should resolve but isn't. It is possible that my images haven't been uploaded to app engine by the development google app engine launcher? Is there any way to verify that they indeed are on the server? Did I mention that this works perfect on my development app engine server, which is what is making this so frustrating! Cheers, dylan On Dec 15, 1:42 pm, Marzia Niccolai ma...@google.com wrote: Hi Dylan, H, this is confusing because it works perfectly for me. I made a simple application: static - photos - folder - image.jpg - folder2 - image.jpg [different image] With this in my app.yaml: - url: /photos/(.*)/(.*\.(gif|jpg)) static_files: static/photos/\1/\2 upload: static/photos/(.*)/(.*\.(gif|jpg)) And it works perfectly. The only thing I can think of that may not make this work is if you have another handler in your app.yaml that also matches those files and is defined before this one that is causing this issue. So this could 404 if your app.yaml looks like this: -app.yaml- - url: /.* script: main.py - url: /photos/(.*)/(.*\.(gif|jpg)) static_files: static/photos/\1/\2 upload: static/photos/(.*)/(.*\.(gif|jpg)) -end- Because the first handler matches all URLs. Hope this helps, if not, perhaps attach your entire app.yaml file? -Marzia On Sun, Dec 14, 2008 at 12:11 AM, Dylan Lorimer write2dy...@gmail.comwrote: Hi, In my app.yaml I have the following: - url: /photos/(.*)/(.*\.(gif|png|jpg)) static_files: static/photos/\1/\2 upload: static/photos/(.*)/(.*\.(gif|png|jpg)) My application has images that I've uploaded per the following directory structure: application root - static - photos -folder_1/image_1.jpg -folder_1/image_2.jpg -folder_2/image_3.jpg etc etc For the life of me I can't seem to serve these images successfully. Any URL hit to:www.myapp.com/photos/photo_folder_name/image_name.jpg results in a 404 not found. I'm certain this is an issue with my app.yaml static handler but can't figure it out. Any help is SUPER appreciated. It's possible that they are not being uploaded due to an error in the upload directive, but I don't think that's the case. Thanks much. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Difficulty Serving Static Image with static_files handler
could case sensitivity be the problem here? On Dec 15, 11:31 pm, Dylan Lorimer write2dy...@gmail.com wrote: Hi Marzia - Thanks for your reply. So unfortunately I don't that the order of the app.yaml entries is the culprit. Here's my app.yaml: handlers: - url: /photos/(.*)/(.*\.(gif|png|jpg)) static_files: static/photos/\1/\2 upload: static/photos/(.*)/(.*\.(gif|png|jpg)) - url: /css static_dir: static/css - url: /images static_dir: static/images - url: /js static_dir: static/js - url: /post script: main.py login: admin - url: /.* script: main.py My site is live @http://www.jaceyphotographs.com. You can see the blog entry with missing img, and if you check the source you'll see the img URL that should resolve but isn't. It is possible that my images haven't been uploaded to app engine by the development google app engine launcher? Is there any way to verify that they indeed are on the server? Did I mention that this works perfect on my development app engine server, which is what is making this so frustrating! Cheers, dylan On Dec 15, 1:42 pm, Marzia Niccolai ma...@google.com wrote: Hi Dylan, H, this is confusing because it works perfectly for me. I made a simple application: static - photos - folder - image.jpg - folder2 - image.jpg [different image] With this in my app.yaml: - url: /photos/(.*)/(.*\.(gif|jpg)) static_files: static/photos/\1/\2 upload: static/photos/(.*)/(.*\.(gif|jpg)) And it works perfectly. The only thing I can think of that may not make this work is if you have another handler in your app.yaml that also matches those files and is defined before this one that is causing this issue. So this could 404 if your app.yaml looks like this: -app.yaml- - url: /.* script: main.py - url: /photos/(.*)/(.*\.(gif|jpg)) static_files: static/photos/\1/\2 upload: static/photos/(.*)/(.*\.(gif|jpg)) -end- Because the first handler matches all URLs. Hope this helps, if not, perhaps attach your entire app.yaml file? -Marzia On Sun, Dec 14, 2008 at 12:11 AM, Dylan Lorimer write2dy...@gmail.comwrote: Hi, In my app.yaml I have the following: - url: /photos/(.*)/(.*\.(gif|png|jpg)) static_files: static/photos/\1/\2 upload: static/photos/(.*)/(.*\.(gif|png|jpg)) My application has images that I've uploaded per the following directory structure: application root - static - photos -folder_1/image_1.jpg -folder_1/image_2.jpg -folder_2/image_3.jpg etc etc For the life of me I can't seem to serve these images successfully. Any URL hit to:www.myapp.com/photos/photo_folder_name/image_name.jpg results in a 404 not found. I'm certain this is an issue with my app.yaml static handler but can't figure it out. Any help is SUPER appreciated. It's possible that they are not being uploaded due to an error in the upload directive, but I don't think that's the case. Thanks much. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Bugged out entity type crashes data viewer.
After hitting an enity type with serial deleted to try and rekey it. The entity type has become bugged. When I navigat to it with the admin data viewer I get: Server Error A server error has occurred. I for a while tried to make keys with dashes in them. Could this have caused this? Anyway to repair the data viewer? --~--~-~--~~~---~--~~ You 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] 'Contact us' form
Hello, I am trying to add a contact us form to my website that will run on GAE server. My code simply checks the email address correctness of the person contacting me, and sends the email to me. !DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Frameset//EN http://www.w3.org/TR/xhtml4/DTD/xhtml4-frameset.dtd; html head meta http-equiv=Content-Type content=text/html; charset=utf-8 titleContact us/title script language=JavaScript !-- //checks if the email is in a correct format function processForm() { var emailnotvalid = ; var errors = ; var errormsg = Please fill in the 'Your Email' field: \n \n; var emailValue = document.ContactUsForm.email.value; if (emailValue == ){ errors = true; errormsg += -- Your e-mail address \n; }else{ var checkemail = emailValue.match(/^\w+[\.\w...@\w+[\.\w +]+\.+\w+$/); if (checkemail == null){ errors = true; errormsg += -- Please enter a valid e-mail address \n; } } if (errors){ alert(errormsg); return false; }else{ alert(Great! The form was filled out correctly!); //document.ContactUsForm.submit(); } } //-- /script /head body form name = ContactUsForm method=get action=#? input type=hidden name=recipient value=noorhanab...@googlemail.com input type=hidden name=required value=email input type=hidden name=sort value=alphabetic input type=hidden name=env_report value=REMOTE_HOST,HTTP_USER_AGENT table width=100% border=0 cellspacing=0 cellpadding=0 tr td width=15 /td tdtable width=98% border=0 cellspacing=0 cellpadding=0 tr td table width=100% border=0 cellspacing=0 cellpadding=0 tr td height=25 /td td /td td /td /tr tr td height=25 Message Subject /td tddiv align=center:/div/td tdinput name=subject type=text / td /tr tr td height=25 Your Email /td tddiv align=center:/div/td tdinput name=email type=text / td /tr tr td height=25 valign=top Please enter your message/td td valign=topdiv align=center:/ div/td tdtextarea name=message cols=70 rows=20 /textarea/td /tr tr td height=50 valign=top /td td valign=top /td td table width=100% border=0 cellspacing=0 cellpadding=0 tr td width=142input type=submit value=Send onClick=processForm(); /td tdinput type=reset value=Reset Form onclick=this.form.reset(); return false;/td /tr /table /td /tr /table /td/tr /table /td /tr/table/td /tr/table /form /body /html For some reason, the email is not sent though the posting gives me http-1.0 200 signal(successful post) Any idea where is the problem? Thank you very much Thank you very much --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Site Map Generator Test / Tip
If you want to see how your site responds to bot crawling, go to http://www.xml-sitemaps.com/ and generate a site map for your project. When I first did this for http://www.bookdope.com, I almost immediately pushed my site over quota. I got tons of ...used a high amount of CPU, and was roughly X.x times over the average request CPU limit... warnings and then my site would report an over quota message. I lamented oh my gosh, I've wasted my time on Google App Engine. it's not working. So, I went back to the drawing board... I liberally used memcache all over the place and switched from pyAWS (an amazon associates web service wrapper) to basic xml.parsers.expat xml reading for my two most expensive web service operations (item lookup and item search). I am pleased to report, my last site map generation ( using http://www.xml-sitemaps.com/ ) of the max links (500) produced only 2 CPU warnings! I even browsed the site myself during the crawl and benefited from the cached pages. In conclusion, I'm not lamenting any more. I'm quite pleased; knowing that if I keep my CPU usage down (per request), I'm going to scale as advertised. Thank You Google App Engine! Dale --~--~-~--~~~---~--~~ You 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: Updates to Dashboard and other problems
Hi, I'm looking in to the dataviewer side scroll issue. For the URLFetch issue, are you specifying no-cache in the URLFetch headers? If this is not the case, you will need to do this in order to guarantee you are circumnavigating the cache on every request. If you are specifying the no-cache headers, what is the specific site you are requesting? -Marzia On Tue, Dec 16, 2008 at 2:01 AM, Paul Kinlan paul.kin...@gmail.com wrote: Hi, I really like the Quota Details page, it gives some really good insight. I am having an issue with the Data Viewer page. I have an entity that has lots of columns, yesterday I could scroll my window left and right to see all the data, now I can't. I am also having issues with Urlfetch, I swear it seems to be caching the requests more vigioursly than before. I am making requests to an webbased social network and it is constantly returning the same results (in this case a warning for a parameter that is no longer on the query string). The query parameters change but the result remains the same, when testing locally this does not occur. Kind Regards, Paul Kinlan. --~--~-~--~~~---~--~~ You 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: Deploying to multiple Google Apps domains
Hi, At this time you can not restrict login of a single app to multiple Google Apps domain, so this scenario is not possible. You would have to deploy the same code to two different app-ids which had restricted login to corporation1 and corporation2 respectively. -Marzia On Mon, Dec 15, 2008 at 11:03 PM, Andrew thesongeter...@gmail.com wrote: Thanks for the reply; let me just clarify one point. You say that if I restrict authentication to a particular Google Apps domain, only users from that domain will be able to login. If I use the Google Accounts login, it is not an issue. However, I wanted to do this: Corporation 1 and Corporation 2 both use Google Apps. Both deploy my app. Can j...@corporation1.com and j...@corporation2.com both login to my app? I'm under the impression that neither of the authentication modes would allow this sort of thing, since Google Apps authentication requires everyone to be on the same domain, and Google Accounts authentication requires everyone to have a Google Account (not a company-provided Apps account). On Dec 10, 12:34 pm, Marzia Niccolai ma...@google.com wrote: Hi, A Google App Engine app can be deployed on multiple domains. The only restriction is that if you restrict authentication to a particular Google Apps domain, you can only serve traffic on that domain (meaning currently, if you want only mydomain.com users to be able to log in to your app, the app must be served off of mydomain.com). If you are using Google Accounts for login, this is not an issue. If you had an issue linking your Google App Engine App to a Google Apps domain, it is possible this is due to some difficulties users have been having with the 'www' mapping. The general directions to linking your app to a Google Apps domain are here: http://code.google.com/appengine/articles/domains.html And if this fails for the 'www' mapping, see the instructions here: http://groups.google.com/group/google-appengine/web/deleting-existing... -Marzia On Tue, Dec 9, 2008 at 4:22 PM, Andrew thesongeter...@gmail.com wrote: I've been exploring Google App Engine and working on an app, but I envision the app being something that would be used by different companies on their own Apps domains. That is, I'll want to use it on my Google Apps domain, but other companies might like to deploy it on their Apps domain as well. I created my app with the default setting where any Google user can log in. Unsurprisingly I cannot log in when I use my Google Apps account. I tried adding the app to my Google Apps account (since the Dashboard has an Add more services link that allows the adding of AE apps), but that didn't help at all. Now, I can easily create a new AE app and set it to be used on my Apps domain instead of being universal. But that means I'm the only one who can ever use the app, right? Is there any way to allow multiple Apps domains to access the same AE app? I assumed that was Google's purpose in including the Add more services option in Google Apps, but maybe I'm missing something. Thanks for any insight. --~--~-~--~~~---~--~~ You 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: Updates to Dashboard and other problems
Hi, Thanks for looking into the scroll problem. I am not specifying no-cache. I will try it out tonight, I suspect that will fix the problem. Not sure why I have not seen it before, but I suspect I just never noticed. Thanks for your help. Kind regards. Paul Kinlan On 16 Dec 2008, at 17:40, Marzia Niccolai ma...@google.com wrote: Hi, I'm looking in to the dataviewer side scroll issue. For the URLFetch issue, are you specifying no-cache in the URLFetch headers? If this is not the case, you will need to do this in order to guarantee you are circumnavigating the cache on every request. If you are specifying the no-cache headers, what is the specific site you are requesting? -Marzia On Tue, Dec 16, 2008 at 2:01 AM, Paul Kinlan paul.kin...@gmail.com wrote: Hi, I really like the Quota Details page, it gives some really good insight. I am having an issue with the Data Viewer page. I have an entity that has lots of columns, yesterday I could scroll my window left and right to see all the data, now I can't. I am also having issues with Urlfetch, I swear it seems to be caching the requests more vigioursly than before. I am making requests to an webbased social network and it is constantly returning the same results (in this case a warning for a parameter that is no longer on the query string). The query parameters change but the result remains the same, when testing locally this does not occur. Kind Regards, Paul Kinlan. --~--~-~--~~~---~--~~ You 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: Updates to Dashboard and other problems
Me too, please fix this! On Dec 16, 9:29 pm, Sylvain sylvain.viv...@gmail.com wrote: Yes, same issue with the DataViewer On 16 déc, 11:01, Paul Kinlan paul.kin...@gmail.com wrote: Hi, I really like the Quota Details page, it gives some really good insight. I am having an issue with the Data Viewer page. I have an entity that has lots of columns, yesterday I could scroll my window left and right to see all the data, now I can't. I am also having issues with Urlfetch, I swear it seems to be caching the requests more vigioursly than before. I am making requests to an webbased social network and it is constantly returning the same results (in this case a warning for a parameter that is no longer on the query string). The query parameters change but the result remains the same, when testing locally this does not occur. Kind Regards, Paul Kinlan. --~--~-~--~~~---~--~~ You 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: Difficulty Serving Static Image with static_files handler
Yes, as embarrassing as it is, case sensitivity was the problem. This stumped me for literally 3 days! Why would it not be an issue on my Mac, but when deployed to App Engine it became an issue? Wait...I'm guessing it's the Mac's filesystem, right? Anyway, it works now... Cheers, dylan On Dec 15, 10:50 pm, dk davemk...@gmail.com wrote: I'm having the same problem. The strange thing is that I have other static content that serves up just fine. It seems only the images I tried to add today are not found. Let me know if you come up with anything. -dk On Dec 15, 11:31 pm, Dylan Lorimer write2dy...@gmail.com wrote: Hi Marzia - Thanks for your reply. So unfortunately I don't that the order of the app.yaml entries is the culprit. Here's my app.yaml: handlers: - url: /photos/(.*)/(.*\.(gif|png|jpg)) static_files: static/photos/\1/\2 upload: static/photos/(.*)/(.*\.(gif|png|jpg)) - url: /css static_dir: static/css - url: /images static_dir: static/images - url: /js static_dir: static/js - url: /post script: main.py login: admin - url: /.* script: main.py My site is live @http://www.jaceyphotographs.com. You can see the blog entry with missing img, and if you check the source you'll see the img URL that should resolve but isn't. It is possible that my images haven't been uploaded to app engine by the development google app engine launcher? Is there any way to verify that they indeed are on the server? Did I mention that this works perfect on my development app engine server, which is what is making this so frustrating! Cheers, dylan On Dec 15, 1:42 pm, Marzia Niccolai ma...@google.com wrote: Hi Dylan, H, this is confusing because it works perfectly for me. I made a simple application: static - photos - folder - image.jpg - folder2 - image.jpg [different image] With this in my app.yaml: - url: /photos/(.*)/(.*\.(gif|jpg)) static_files: static/photos/\1/\2 upload: static/photos/(.*)/(.*\.(gif|jpg)) And it works perfectly. The only thing I can think of that may not make this work is if you have another handler in your app.yaml that also matches those files and is defined before this one that is causing this issue. So this could 404 if your app.yaml looks like this: -app.yaml- - url: /.* script: main.py - url: /photos/(.*)/(.*\.(gif|jpg)) static_files: static/photos/\1/\2 upload: static/photos/(.*)/(.*\.(gif|jpg)) -end- Because the first handler matches all URLs. Hope this helps, if not, perhaps attach your entire app.yaml file? -Marzia On Sun, Dec 14, 2008 at 12:11 AM, Dylan Lorimer write2dy...@gmail.comwrote: Hi, In my app.yaml I have the following: - url: /photos/(.*)/(.*\.(gif|png|jpg)) static_files: static/photos/\1/\2 upload: static/photos/(.*)/(.*\.(gif|png|jpg)) My application has images that I've uploaded per the following directory structure: application root - static - photos -folder_1/image_1.jpg -folder_1/image_2.jpg -folder_2/image_3.jpg etc etc For the life of me I can't seem to serve these images successfully. Any URL hit to:www.myapp.com/photos/photo_folder_name/image_name.jpg results in a 404 not found. I'm certain this is an issue with my app.yaml static handler but can't figure it out. Any help is SUPER appreciated. It's possible that they are not being uploaded due to an error in the upload directive, but I don't think that's the case. Thanks much. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Googe App Engine and Friend Connect...
You might benefit from checking out Microsoft's Provider Models in .NET. They address exactly this sort of abstraction. For this, you want the role and/or membership providers. Thanks- - Andy Badera - and...@badera.us - (518) 641-1280 - Google me: http://www.google.com/search?q=andrew+badera On Tue, Dec 16, 2008 at 1:18 PM, bvelasquez bvelasq...@gmail.com wrote: I see your point. Up until now, I've been relying on Google Account Login, but this is the limiting factor. I should provide my own mechanism and then link to the various providers. Much more flexible. Too bad there isn't a python library to open all this up in GAE, abstracting the authentication piece in a reusable way. Anyone know if this exists? Barry On Dec 16, 3:57 am, conman constantin.christm...@googlemail.com wrote: I amnot quite sure if I unserstand your question but I guess you need to manage your own User Login status which can be triggered by either Google Account Login or by FriendConnect or Facebook Connect or OpenId etc... That way a user would have the possibility to log in via different auth providers and different accounts but link this different logins to one user profile in your application. Hope that helps. On 16 Dez., 03:00, bvelasquez bvelasq...@gmail.com wrote: I added Google's Friend Connect to my GAE application. Now, there are two sign in steps on my site. One to authenticate using GAE users and the other for Friend Connect. This is not desirable and I was wondering if anyone knew of the method for integrating the two so there is only one sign-in. I should be able to pass the Google Authentication through Friend Connect to the GAE application. --~--~-~--~~~---~--~~ You 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] Send and receive mail with embedded images
Hi! I want to migrate a mailing solution to Google App Engine. For that I need to be able to send and receive mails with embedded images. I already read that it is not possible to receive mail directly, but there are other solution with urlfetch. My problem is: How do I send a mail with embedded image from google app Engine? Thanks! Daniel --~--~-~--~~~---~--~~ You 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: Googe App Engine and Friend Connect...
I amnot quite sure if I unserstand your question but I guess you need to manage your own User Login status which can be triggered by either Google Account Login or by FriendConnect or Facebook Connect or OpenId etc... That way a user would have the possibility to log in via different auth providers and different accounts but link this different logins to one user profile in your application. Hope that helps. On 16 Dez., 03:00, bvelasquez bvelasq...@gmail.com wrote: I added Google's Friend Connect to my GAE application. Now, there are two sign in steps on my site. One to authenticate using GAE users and the other for Friend Connect. This is not desirable and I was wondering if anyone knew of the method for integrating the two so there is only one sign-in. I should be able to pass the Google Authentication through Friend Connect to the GAE application. --~--~-~--~~~---~--~~ You 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: Data is skipped
Hi, I suspect this is the same issue as this one: http://code.google.com/p/googleappengine/issues/detail?id=901 We suspect that calling put() on the entities that are not being returned will fix this issue, but are investigating it and working on a fix as well. Thanks, Marzia On Mon, Dec 15, 2008 at 6:52 PM, paptimus papti...@gmail.com wrote: Hi, Marzia. Thank you for your reply. It is missing. For example, I run this query: query = models.Ownership.all().filter('user =', papti...@gmail.com),filter('deleted =',False).order('- created_on').fetch(0, 20) These lists are my expecting/getting result. The getting result contains no 'NG' data but folowing 3 data. expecting: 2008-12-12 10:25:23.397434 2008-12-09 18:04:23.439058 2008-12-03 15:22:46.754546 2008-12-03 15:22:45.251281 2008-12-03 15:22:42.594933 2008-12-03 15:22:41.149333 2008-12-03 15:22:39.559995 2008-12-03 15:22:38.116000 2008-12-03 15:22:36.511006 2008-12-03 15:22:35.117080 2008-12-03 15:22:33.679363 2008-12-03 15:22:32.119234 2008-12-03 15:22:30.461840 2008-12-03 15:22:28.936849 2008-12-03 15:22:27.518304 2008-12-03 15:22:26.039718 2008-12-03 15:22:24.665877NG 2008-12-03 15:22:23.188243 2008-12-03 15:22:21.681791NG 2008-12-03 15:22:20.245579NG getting: 2008-12-12 10:25:23.397434 2008-12-09 18:04:23.439058 2008-12-03 15:22:46.754546 2008-12-03 15:22:45.251281 2008-12-03 15:22:42.594933 2008-12-03 15:22:41.149333 2008-12-03 15:22:39.559995 2008-12-03 15:22:38.116000 2008-12-03 15:22:36.511006 2008-12-03 15:22:35.117080 2008-12-03 15:22:33.679363 2008-12-03 15:22:32.119234 2008-12-03 15:22:30.461840 2008-12-03 15:22:28.936849 2008-12-03 15:22:27.518304 2008-12-03 15:22:26.039718 2008-12-03 15:22:23.188243 2008-12-03 15:22:18.783426 2008-12-03 15:22:17.303290 2008-12-03 15:22:13.102364 Thanks. On 12月16日, 午前5:18, Marzia Niccolai ma...@google.com wrote: Hi, Thanks for the report, but I'm not sure I understand how exactly your query is having an issue. Can you elaborate on this statement: The result set is ordered by '-created_on', but it is not sequential. What data are you getting? What data are you expecting? Is it misordered or missing? Also, have you tried adding this index to your index.yaml and uploading it with your application: - kind: Ownership properties: - name: user - name: deleted - name: created_on direction: desc Thanks, Marzia On Mon, Dec 15, 2008 at 11:05 AM, paptimus papti...@gmail.com wrote: I get an additional information. I vacuumed the problem index and rebuilt the same index. The number of result set before vacuum_index is not same as one of after that. Obviously, query is same. So I think my app get into this situation while rebuilding index. I hope gae team checks my app's index. My app id is 'book-case-2' and kind is 'Ownership'. Thanks. On 12月16日, 午前1:23, koji matsui papti...@gmail.com wrote: Hi, djidjadji, thanks for your comment. I tried both query as below: query = models.Ownership.all().filter('user', user),filter('deleted', False).order('-created_on').fetch(offset, amount) query = models.Ownership.all().filter('user =', user),filter('deleted =', False).order('-created_on').fetch(offset, amount) But the definition of index sdk generates is exactly the same. And lack of data in result set is the same. So, I think this problem happens when server creates the index. Thanks. 2008/12/15 djidjadji djidja...@gmail.com: A snippet from the manual == filter(property_operator, value) Adds a property condition filter to the query. Only entities with properties that meet all of the conditions will be returned by the query. Arguments: property_operator A string containing the property name and a comparison operator. The name and the operator must be separated by a space, as in: age The following comparison operators are supported: = = = (The not-equal (!=) and IN operators are not supported.) == You forget the comparison operator in your filter statements. 2008/12/13 paptimus papti...@gmail.com: query = models.Ownership.all().filter('user', user),filter('deleted', False).order('-created_on').fetch(offset, amount) -- - koji matsui --~--~-~--~~~---~--~~ You 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: Bugged out entity type crashes data viewer.
Hi, Do you have a link to a specific page that is having this issue? Also, what type of data is being stored in this entity? -Marzia On Tue, Dec 16, 2008 at 1:06 AM, Tzakie gwood...@comexton.com wrote: After hitting an enity type with serial deleted to try and rekey it. The entity type has become bugged. When I navigat to it with the admin data viewer I get: Server Error A server error has occurred. I for a while tried to make keys with dashes in them. Could this have caused this? Anyway to repair the data viewer? --~--~-~--~~~---~--~~ You 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: Updates to Dashboard and other problems
Yes, same issue with the DataViewer On 16 déc, 11:01, Paul Kinlan paul.kin...@gmail.com wrote: Hi, I really like the Quota Details page, it gives some really good insight. I am having an issue with the Data Viewer page. I have an entity that has lots of columns, yesterday I could scroll my window left and right to see all the data, now I can't. I am also having issues with Urlfetch, I swear it seems to be caching the requests more vigioursly than before. I am making requests to an webbased social network and it is constantly returning the same results (in this case a warning for a parameter that is no longer on the query string). The query parameters change but the result remains the same, when testing locally this does not occur. Kind Regards, Paul Kinlan. --~--~-~--~~~---~--~~ You 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] Announcing: System Status Dashboard, Quota Details Page, and a Preview of Billing
Hi, As many of you have already noticed, we released some Admin Console changes today, and we've also announced a System Status Dashboard ( http://code.google.com/status/appengine), and have some more details on Google App Engine's billing plans. You can read all about these announcements on our blog: http://googleappengine.blogspot.com/2008/12/system-status-dashboard-quota-details.html -Marzia --~--~-~--~~~---~--~~ You 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: Changes in Dashboard?
Hi, We've re-vamped the quotas page, you can read about it here: http://googleappengine.blogspot.com/2008/12/system-status-dashboard-quota-details.html -Marzia On Tue, Dec 16, 2008 at 3:49 AM, conman constantin.christm...@googlemail.com wrote: Hi, a few hours ago I was surprised when looking at my CPU mcycle quota which showed me that I have been consuming up to 12 % of my 24h quota. This was very surprising because the site doesn't serve real traffic - ca. 5 visitors per day and some development / debugging done by myself. How can that be? Now - a few hours later I looked again and the CPU quota is at 0% again - maybe because it is a new day in Pacific Time Zone...? But: now the CPU time is mesaured in hours and not mcycles anymore... I guess there was a update of the dashboard? Regards, constantin --~--~-~--~~~---~--~~ You 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: Zoho Creator and GAE
Let's say that your AppEngine code lives in the subdirectory foo. You would use the command appcfg.py update foo/ to upload your code. On Dec 16, 1:18 pm, Ranjan ranjanva...@gmail.com wrote: I have downloaded a Zoho app and have to upload it The tutorials says, To upload application files, run the appcfg.py command with the update action and the name of your application's root directory. But I do not know how!! I know it's a bit dumb but do not know where to ask. --~--~-~--~~~---~--~~ You 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: Data is skipped
Hi, Marzia. Also, have you tried adding this index to your index.yaml and uploading it with your application: - kind: Ownership properties: - name: user - name: deleted - name: created_on direction: desc I added and uploaded this index according as your advice. But this problem is not remaining. So I vacuumed the below index which is generated by sdk and previously created. - kind: Ownership properties: - name: deleted - name: user - name: created_on direction: desc But the situation is the same as before. Thanks. On 12月16日, 午前11:52, paptimus papti...@gmail.com wrote: Hi, Marzia. Thank you for your reply. It is missing. For example, I run this query: query = models.Ownership.all().filter('user =', papti...@gmail.com),filter('deleted =',False).order('- created_on').fetch(0, 20) These lists are my expecting/getting result. The getting result contains no 'NG' data but folowing 3 data. expecting: 2008-12-12 10:25:23.397434 2008-12-09 18:04:23.439058 2008-12-03 15:22:46.754546 2008-12-03 15:22:45.251281 2008-12-03 15:22:42.594933 2008-12-03 15:22:41.149333 2008-12-03 15:22:39.559995 2008-12-03 15:22:38.116000 2008-12-03 15:22:36.511006 2008-12-03 15:22:35.117080 2008-12-03 15:22:33.679363 2008-12-03 15:22:32.119234 2008-12-03 15:22:30.461840 2008-12-03 15:22:28.936849 2008-12-03 15:22:27.518304 2008-12-03 15:22:26.039718 2008-12-03 15:22:24.665877NG 2008-12-03 15:22:23.188243 2008-12-03 15:22:21.681791NG 2008-12-03 15:22:20.245579NG getting: 2008-12-12 10:25:23.397434 2008-12-09 18:04:23.439058 2008-12-03 15:22:46.754546 2008-12-03 15:22:45.251281 2008-12-03 15:22:42.594933 2008-12-03 15:22:41.149333 2008-12-03 15:22:39.559995 2008-12-03 15:22:38.116000 2008-12-03 15:22:36.511006 2008-12-03 15:22:35.117080 2008-12-03 15:22:33.679363 2008-12-03 15:22:32.119234 2008-12-03 15:22:30.461840 2008-12-03 15:22:28.936849 2008-12-03 15:22:27.518304 2008-12-03 15:22:26.039718 2008-12-03 15:22:23.188243 2008-12-03 15:22:18.783426 2008-12-03 15:22:17.303290 2008-12-03 15:22:13.102364 Thanks. On 12月16日, 午前5:18, Marzia Niccolai ma...@google.com wrote: Hi, Thanks for the report, but I'm not sure I understand how exactly your query is having an issue. Can you elaborate on this statement: The result set is ordered by '-created_on', but it is not sequential. What data are you getting? What data are you expecting? Is it misordered or missing? Also, have you tried adding this index to your index.yaml and uploading it with your application: - kind: Ownership properties: - name: user - name: deleted - name: created_on direction: desc Thanks, Marzia On Mon, Dec 15, 2008 at 11:05 AM, paptimus papti...@gmail.com wrote: I get an additional information. I vacuumed the problem index and rebuilt the same index. The number of result set before vacuum_index is not same as one of after that. Obviously, query is same. So I think my app get into this situation while rebuilding index. I hope gae team checks my app's index. My app id is 'book-case-2' and kind is 'Ownership'. Thanks. On 12月16日, 午前1:23, koji matsui papti...@gmail.com wrote: Hi, djidjadji, thanks for your comment. I tried both query as below: query = models.Ownership.all().filter('user', user),filter('deleted', False).order('-created_on').fetch(offset, amount) query = models.Ownership.all().filter('user =', user),filter('deleted =', False).order('-created_on').fetch(offset, amount) But the definition of index sdk generates is exactly the same. And lack of data in result set is the same. So, I think this problem happens when server creates the index. Thanks. 2008/12/15 djidjadji djidja...@gmail.com: A snippet from the manual == filter(property_operator, value) Adds a property condition filter to the query. Only entities with properties that meet all of the conditions will be returned by the query. Arguments: property_operator A string containing the property name and a comparison operator. The name and the operator must be separated by a space, as in: age The following comparison operators are supported: = = = (The not-equal (!=) and IN operators are not supported.) == You forget the comparison operator in your filter statements. 2008/12/13 paptimus papti...@gmail.com: query = models.Ownership.all().filter('user', user),filter('deleted', False).order('-created_on').fetch(offset, amount) -- - koji matsui --~--~-~--~~~---~--~~ You 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] Re: Deleting stuff
I'm having the EXACT same problem, and no amount of delay seems to be helping. Has anyone figured this out? On Nov 21, 4:00 pm, Ben Nevile ben.nev...@gmail.com wrote: Hi Chris - thanks for your response. A 2 second delay? Really? I don't think that would help. 1. Another of my apps is serving 100k req / sec. 2. if I delete 100 entities every two seconds it would take me a few months to get through them all. Ben On Nov 21, 11:11 am, Chris Marasti-Georg c.marastige...@gmail.com wrote: How long are you waiting between requests? I add a 2 second delay in the non-gae loop code when I do things like this. On Fri, Nov 21, 2008 at 12:10 PM, Ben Nevile ben.nev...@gmail.com wrote: Greetings fellow GAE dorks, So I'm trying to clean up an existing app. I want to delete all the entities of a certain class. Since there's no automagic way to do this, I made a handler that deletes them a block at a time. Here it is: class DeleteHandler(BaseRequestHandler): def get(self): size = int(self.request.get('size',default_value='10')) touches = Touch.gql('ORDER BY time desc').fetch(size) db.delete(touches) self.response.out.write(ok) Pretty simple. So I called this in a loop for a while, and it started timing out at the query. Hm. Perhaps a problem with the index? I then changed the query to this: touches = Touch.all().fetch(size) So that the first index wasn't involved. This worked for a while, but then started timing out again. Here's the 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/showmeflow/1.329447312090117530/main.py, line 58, in get most_recent_touches = Touch.all().fetch(size) File /base/python_lib/versions/1/google/appengine/ext/db/ __init__.py, line 1377, in fetch raw = self._get_query().Get(limit, offset) File /base/python_lib/versions/1/google/appengine/api/ datastore.py, line 938, in Get return self._Run(limit, offset)._Next(limit) File /base/python_lib/versions/1/google/appengine/api/ datastore.py, line 882, in _Run _ToDatastoreError(err) File /base/python_lib/versions/1/google/appengine/api/ datastore.py, line 1636, in _ToDatastoreError raise errors[err.application_error](err.error_detail) Timeout What's a dork to do? Ben --~--~-~--~~~---~--~~ You 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: Deleting stuff
Some more information: app_id = twitter2ff offending model = TwitterUser On Dec 16, 1:14 pm, Carter Rabasa carter.rab...@gmail.com wrote: I'm having the EXACT same problem, and no amount of delay seems to be helping. Has anyone figured this out? On Nov 21, 4:00 pm, Ben Nevile ben.nev...@gmail.com wrote: Hi Chris - thanks for your response. A 2 second delay? Really? I don't think that would help. 1. Another of my apps is serving 100k req / sec. 2. if I delete 100 entities every two seconds it would take me a few months to get through them all. Ben On Nov 21, 11:11 am, Chris Marasti-Georg c.marastige...@gmail.com wrote: How long are you waiting between requests? I add a 2 second delay in the non-gae loop code when I do things like this. On Fri, Nov 21, 2008 at 12:10 PM, Ben Nevile ben.nev...@gmail.com wrote: Greetings fellow GAE dorks, So I'm trying to clean up an existing app. I want to delete all the entities of a certain class. Since there's no automagic way to do this, I made a handler that deletes them a block at a time. Here it is: class DeleteHandler(BaseRequestHandler): def get(self): size = int(self.request.get('size',default_value='10')) touches = Touch.gql('ORDER BY time desc').fetch(size) db.delete(touches) self.response.out.write(ok) Pretty simple. So I called this in a loop for a while, and it started timing out at the query. Hm. Perhaps a problem with the index? I then changed the query to this: touches = Touch.all().fetch(size) So that the first index wasn't involved. This worked for a while, but then started timing out again. Here's the 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/showmeflow/1.329447312090117530/main.py, line 58, in get most_recent_touches = Touch.all().fetch(size) File /base/python_lib/versions/1/google/appengine/ext/db/ __init__.py, line 1377, in fetch raw = self._get_query().Get(limit, offset) File /base/python_lib/versions/1/google/appengine/api/ datastore.py, line 938, in Get return self._Run(limit, offset)._Next(limit) File /base/python_lib/versions/1/google/appengine/api/ datastore.py, line 882, in _Run _ToDatastoreError(err) File /base/python_lib/versions/1/google/appengine/api/ datastore.py, line 1636, in _ToDatastoreError raise errors[err.application_error](err.error_detail) Timeout What's a dork to do? Ben --~--~-~--~~~---~--~~ You 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: Inconsistent behaviour when if __name__ == '__main__' missing
Good catch! I'll make sure the docs address this case, in both samples and descriptions. Thanks! -- Dan On Mon, Dec 15, 2008 at 10:49 AM, Jeff S j...@google.com wrote: Thank you for pointing this out. It seems like most code snippets do include the if __name__ == '__main__' but I did find one that omitted it http://code.google.com/appengine/docs/webapp/running.html Were there others that you had seen? Thank you, Jeff On Dec 13, 7:45 am, mrts mrts.py...@gmail.com wrote: This is really a doc bug report, but perhaps it should be discussed first. The problem: Given def main(): run_wsgi_app(handler) if if __name__ == '__main__': main() is omitted from the end of main.py, the application serves a blank page (i.e. null body) on first request and sporadically later as well (probably when the main module is imported in another server in the cloud, i.e. main() is *not* run only on import). Otherwise, main() is run automagically and everything works as expected. This is highly confusing and hard to track down -- so it would make sense to either not run main() automagically at all so that zero length response is always returned if no __name__ == '__main__' clause is present, or document this behaviour with a big warning in the official docs. At least two people have tripped on this as of now. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Unable to import non-root modules; works fine in dev_appserver
Alexander Kojevnikov, you are the man! I changed code to codpiece, and all is well. Thank you so much. Probably this issue should be documented somewhere, or at least the odd behaviors of the server should be duplicated by the dev_appserver. ( Similar to this note: http://code.google.com/appengine/docs/configuringanapp.html#Reserved_URLs ) This reminded me of an old and grueling battle over a folder named shared back in the day. Should have learned my lesson back then: never use a concise meaningful name when an irrelevant thematic one will suffice. On Dec 15, 10:09 pm, Alexander Kojevnikov alexan...@kojevnikov.com wrote: Say I create a directory called code in the app root. I had exactly the same problem a couple of months ago, took me quite a few hours to find a solution. Apparently the code name conflicts with some internal modules or packages. I ended up renaming it to app, this fixed the problem. --www.muspy.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: Announcing: System Status Dashboard, Quota Details Page, and a Preview of Billing
I think it was supposed to be $0.15 per GB-month. Its way too high to be per GB-day. On Dec 17, 12:06 am, James Ashley james.ash...@gmail.com wrote: Very nice! Thank you (and everyone else on your team, of course G). Just one question. The pricing screen shot looks like it shows storage at $0.15/GB-day. In the previously released pricing plan, it was supposed to cost around $0.15-18/GB-month. Am I reading something wrong, is that a typo, or has storage cost increased dramatically while we weren't looking? Thanks, James On Dec 16, 12:45 pm, Marzia Niccolai ma...@google.com wrote: Hi, As many of you have already noticed, we released some Admin Console changes today, and we've also announced a System Status Dashboard (http://code.google.com/status/appengine), and have some more details on Google App Engine's billing plans. You can read all about these announcements on our blog:http://googleappengine.blogspot.com/2008/12/system-status-dashboard-q... -Marzia --~--~-~--~~~---~--~~ You 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: Announcing: System Status Dashboard, Quota Details Page, and a Preview of Billing
I would tend to agree Indra. That seems way to high. Is there an ETA on this feature? On Dec 16, 3:19 pm, indra b.indran...@gmail.com wrote: I think it was supposed to be $0.15 per GB-month. Its way too high to be per GB-day. On Dec 17, 12:06 am, James Ashley james.ash...@gmail.com wrote: Very nice! Thank you (and everyone else on your team, of course G). Just one question. The pricing screen shot looks like it shows storage at $0.15/GB-day. In the previously released pricing plan, it was supposed to cost around $0.15-18/GB-month. Am I reading something wrong, is that a typo, or has storage cost increased dramatically while we weren't looking? Thanks, James On Dec 16, 12:45 pm, Marzia Niccolai ma...@google.com wrote: Hi, As many of you have already noticed, we released some Admin Console changes today, and we've also announced a System Status Dashboard (http://code.google.com/status/appengine), and have some more details on Google App Engine's billing plans. You can read all about these announcements on our blog:http://googleappengine.blogspot.com/2008/12/system-status-dashboard-q... -Marzia --~--~-~--~~~---~--~~ You 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] quota per registered user
Hi, What are our chances of getting a dashboard report that will show the quota usage by registered users? My problem is that for example, I have registered user H that uses a lot of quota and I also have registered user L that uses a little quota. When user H takes the application over the quota limit, then user L will be affected by the outage just the same, even though he is not responsible for it. Bottom line is that I would like a way to analyze how much quota a particular user is using. I don't mind if I have to download some sort of raw data that I then have to analyze myself, as long as I can identify: Not registered users: 30% of CPU Time User H1: 10% of CPU Time User H2: 9% of CPU Time I looked through the issues list but I couldn't find one that addresses this. Thanks, Tony --~--~-~--~~~---~--~~ You 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] Inverted Index Entity Groups
Hi, Suppose you would like to store users' items in an inverted index for quick search. How do you store a new user item and index it with both steps occurring in the same transaction? Amir --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Difficulty Serving Static Image with static_files handler
AFAIK, OSX is not case sensitive, while it is case preserving. One more reason to use linux! :P On Tue, Dec 16, 2008 at 7:09 PM, Dylan Lorimer write2dy...@gmail.com wrote: Yes, as embarrassing as it is, case sensitivity was the problem. This stumped me for literally 3 days! Why would it not be an issue on my Mac, but when deployed to App Engine it became an issue? Wait...I'm guessing it's the Mac's filesystem, right? Anyway, it works now... Cheers, dylan On Dec 15, 10:50 pm, dk davemk...@gmail.com wrote: I'm having the same problem. The strange thing is that I have other static content that serves up just fine. It seems only the images I tried to add today are not found. Let me know if you come up with anything. -dk On Dec 15, 11:31 pm, Dylan Lorimer write2dy...@gmail.com wrote: Hi Marzia - Thanks for your reply. So unfortunately I don't that the order of the app.yaml entries is the culprit. Here's my app.yaml: handlers: - url: /photos/(.*)/(.*\.(gif|png|jpg)) static_files: static/photos/\1/\2 upload: static/photos/(.*)/(.*\.(gif|png|jpg)) - url: /css static_dir: static/css - url: /images static_dir: static/images - url: /js static_dir: static/js - url: /post script: main.py login: admin - url: /.* script: main.py My site is live @http://www.jaceyphotographs.com. You can see the blog entry with missing img, and if you check the source you'll see the img URL that should resolve but isn't. It is possible that my images haven't been uploaded to app engine by the development google app engine launcher? Is there any way to verify that they indeed are on the server? Did I mention that this works perfect on my development app engine server, which is what is making this so frustrating! Cheers, dylan On Dec 15, 1:42 pm, Marzia Niccolai ma...@google.com wrote: Hi Dylan, H, this is confusing because it works perfectly for me. I made a simple application: static - photos - folder - image.jpg - folder2 - image.jpg [different image] With this in my app.yaml: - url: /photos/(.*)/(.*\.(gif|jpg)) static_files: static/photos/\1/\2 upload: static/photos/(.*)/(.*\.(gif|jpg)) And it works perfectly. The only thing I can think of that may not make this work is if you have another handler in your app.yaml that also matches those files and is defined before this one that is causing this issue. So this could 404 if your app.yaml looks like this: -app.yaml- - url: /.* script: main.py - url: /photos/(.*)/(.*\.(gif|jpg)) static_files: static/photos/\1/\2 upload: static/photos/(.*)/(.*\.(gif|jpg)) -end- Because the first handler matches all URLs. Hope this helps, if not, perhaps attach your entire app.yaml file? -Marzia On Sun, Dec 14, 2008 at 12:11 AM, Dylan Lorimer write2dy...@gmail.comwrote: Hi, In my app.yaml I have the following: - url: /photos/(.*)/(.*\.(gif|png|jpg)) static_files: static/photos/\1/\2 upload: static/photos/(.*)/(.*\.(gif|png|jpg)) My application has images that I've uploaded per the following directory structure: application root - static - photos -folder_1/image_1.jpg -folder_1/image_2.jpg -folder_2/image_3.jpg etc etc For the life of me I can't seem to serve these images successfully. Any URL hit to:www.myapp.com/photos/photo_folder_name/image_name.jpg results in a 404 not found. I'm certain this is an issue with my app.yaml static handler but can't figure it out. Any help is SUPER appreciated. It's possible that they are not being uploaded due to an error in the upload directive, but I don't think that's the case. Thanks much. --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Changes in Dashboard?
The dashboard quota details page is excellent. Thanks for the great addition! -Siva On Dec 16, 10:47 am, Marzia Niccolai ma...@google.com wrote: Hi, We've re-vamped the quotas page, you can read about it here:http://googleappengine.blogspot.com/2008/12/system-status-dashboard-q... -Marzia On Tue, Dec 16, 2008 at 3:49 AM, conman constantin.christm...@googlemail.com wrote: Hi, a few hours ago I was surprised when looking at my CPU mcycle quota which showed me that I have been consuming up to 12 % of my 24h quota. This was very surprising because the site doesn't serve real traffic - ca. 5 visitors per day and some development / debugging done by myself. How can that be? Now - a few hours later I looked again and the CPU quota is at 0% again - maybe because it is a new day in Pacific Time Zone...? But: now the CPU time is mesaured in hours and not mcycles anymore... I guess there was a update of the dashboard? Regards, constantin --~--~-~--~~~---~--~~ You 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] App Engine Chat Time
Hi, Just a reminder that we'll have our last chat time of the year tomorrow morning, Wednesday December 17, 9-10AM PST. Also, here is the list of upcoming App Engine chat times: January 7, 7-8PM PST January 21, 9-10AM PST Feb 4, 7-8PM PST Feb 18, 9-10AM PST March 4, 7-8PM PST March 19, 9-10AM PST These 1 hour developer chat sessions take place on the #appengine IRC channel on irc.freenode.net. Look here: http://en.wikipedia.org/wiki/List_of_IRC_clients for a helpful list of IRC clients. We welcome all App Engine questions, and will try to answer as many as we can get through in the hour. Look forward to chatting with everyone. -Marzia --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Unable to import non-root modules; works fine in dev_appserver
Probably this issue should be documented somewhere, or at least the odd behaviors of the server should be duplicated by the dev_appserver. ( Similar to this note:http://code.google.com/appengine/docs/configuringanapp.html#Reserved_... ) Add an issue to the tracker and post the link here, I will definitely star it. -- www.muspy.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: Announcing: System Status Dashboard, Quota Details Page, and a Preview of Billing
Hi, Yes, this is a typo, it's meant to be GB-month. In terms of timeline, we are working hard on the ability purchase more resources. While a specific date has not yet been announced, expect it earlier in the new year. -Marzia On Tue, Dec 16, 2008 at 12:31 PM, BrianJinwright br...@ifeets.com wrote: I would tend to agree Indra. That seems way to high. Is there an ETA on this feature? On Dec 16, 3:19 pm, indra b.indran...@gmail.com wrote: I think it was supposed to be $0.15 per GB-month. Its way too high to be per GB-day. On Dec 17, 12:06 am, James Ashley james.ash...@gmail.com wrote: Very nice! Thank you (and everyone else on your team, of course G). Just one question. The pricing screen shot looks like it shows storage at $0.15/GB-day. In the previously released pricing plan, it was supposed to cost around $0.15-18/GB-month. Am I reading something wrong, is that a typo, or has storage cost increased dramatically while we weren't looking? Thanks, James On Dec 16, 12:45 pm, Marzia Niccolai ma...@google.com wrote: Hi, As many of you have already noticed, we released some Admin Console changes today, and we've also announced a System Status Dashboard ( http://code.google.com/status/appengine), and have some more details on Google App Engine's billing plans. You can read all about these announcements on our blog: http://googleappengine.blogspot.com/2008/12/system-status-dashboard-q... -Marzia --~--~-~--~~~---~--~~ You 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: reading line from request.get instead of byte at a time
I have an app where I need to parse and process text file via POST method. When I use webapp.RequestHandler's request.get method, it returns the content a byte a time. I was hoping it could return a line (ie: UNIX or Windows/DOS line). Is there another flag/method that does this already for me? for line in request.get('myparam').split('\n'): print line --~--~-~--~~~---~--~~ You 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: Updates to Dashboard and other problems
I am not specifying no-cache. I will try it out tonight, I suspect that will fix the problem. Not sure why I have not seen it before, but I suspect I just never noticed. Paul, could you post here the result of your investigation? I somehow overlooked the urlfetch()'s header parameter too. Thanks! --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] GAE: Beyond computer science
Hi, I think the GAE is a real game-changer. It will result in an explosion of creativity that will dwarf what we have seen in Web 2.0 thus far. There's a lot of interesting computer science and software engineering involved in building the GAE, but I suspect less so in terms of building apps for it. This is particularly true since GAE apps will by necessity need to be simple so that they are scalable: there's only so much you can do in the time available for a request. And so IMO, the GAE is less about computer science and more about a new creative field -- more art than science. I think that's great. This is long overdue. See http://weblog.fortnow.com/2006/07/science-and-art-of-computation.html Amir --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Updates to Dashboard and other problems
Cache-Control: no-cache does seem to make a difference, however all I can confirm is that I have can see the header is present and that the results are better than before (as in they aren't the same for each request - as far as I can tell). Paul. 2008/12/16 Alexander Kojevnikov alexan...@kojevnikov.com I am not specifying no-cache. I will try it out tonight, I suspect that will fix the problem. Not sure why I have not seen it before, but I suspect I just never noticed. Paul, could you post here the result of your investigation? I somehow overlooked the urlfetch()'s header parameter too. Thanks! --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] GqlQuery bind method - is it safe to share the same query instance between requests?
I'm tempted to define an instance of GqlQuery in a global variable, then while handling each request, to call the query's bind() method to bind to it the parameters for the user who issued the request. I'm relatively new to Python, but in a language like Java, this would be a terrible idea - you shouldn't share the same instance of a mutable object between threads. Is this a concern on App Engine? In other words, could a scenario like this occur? QUERY.bind() called in request1 QUERY.bind() called in request2 QUERY.fetch() called in request1 (but QUERY is bound to request2's parameters now!) QUERY.fetch() called in request2 In this scenario, both request would fetch the data that was intended to be fetched only by request2, which is unacceptable... --~--~-~--~~~---~--~~ You 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: Announcing: System Status Dashboard, Quota Details Page, and a Preview of Billing
Cool! I have a commercial app launching in January, and can't wait for billing to arrive so I can stop worrying about quota exceptions. The screenshot shows a country selection field, for working out tax. Is this likely to delay billing for developers from non-US countries? New Zealand in particular? --~--~-~--~~~---~--~~ You 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: Announcing: System Status Dashboard, Quota Details Page, and a Preview of Billing
Hi, When billing launches, it will be available in US Dollars to any country where its possible to use Google Checkout. -Marzia On Tue, Dec 16, 2008 at 3:48 PM, Greg g.fawc...@gmail.com wrote: Cool! I have a commercial app launching in January, and can't wait for billing to arrive so I can stop worrying about quota exceptions. The screenshot shows a country selection field, for working out tax. Is this likely to delay billing for developers from non-US countries? New Zealand in particular? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: Unable to import non-root modules; works fine in dev_appserver
http://code.google.com/p/googleappengine/issues/detail?id=930 On Dec 16, 1:56 pm, Alexander Kojevnikov alexan...@kojevnikov.com wrote: Add an issue to the tracker and post the link here, I will definitely star 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 google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: GqlQuery bind method - is it safe to share the same query instance between requests?
hi alex! you're right to be cautious, but happily, requests are not handled by different threads. our python interpreters are single threaded, and handle only a single request at a time. more: http://code.google.com/appengine/docs/python/sandbox.html http://groups.google.com/group/google-appengine/browse_thread/thread/3f8cfeaf7dc2eb72/7a5918d69158ae1b?#7a5918d69158ae1b given that, you don't need to worry about concurrent accesses to the query global variable, so this should be safe. even better, fetch() re- runs the query from the beginning, so if the parameters are the same across requests, you don't even need to bind() each time. --~--~-~--~~~---~--~~ You 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] CPU Time calculation
Has the algorithm calculating the CPU Time been changed with the recent Dashboard update? I hardly ever reached 1% of the CPU quota, and most of the time it was at 0%. But now I'm at 4% and the number increases rapidly. If things continue like this I will reach the free quota before the next reset. Thanks, Alex -- www.muspy.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: Can't create application
Hello, Any ideas? Hopefully some Google employees are monitoring this forum and can reset something like I've seen them do for others. Thanks, -- Dan On Dec 14, 2:04 pm, Dan dant...@dankok.com wrote: Hello, I frequently experience collisions between the various Google services that are supported by Google Apps for my domain and those that aren't. App Engine is one of them. At the moment I can't create a new Google App Engine application because it says that I have already used that phone number to verify my account. I have changed the mail address used for services not supported by Google Apps for my domain but I can't get any further. Any ideas? Thanks, -- Dan --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: how to submit form from static index.html
thanks Alexander, the setup and code worked, one more help, - how do i unescape string in python that was escaped in javascript and submitted?? I'm submitting html that is escaped from the form - escape(data) How do I unescape the self.request.get('data') in python and then mail it ? javascript: var data = document.getElementById(message).innerHTML; document.getElementById(pop).innerHTML = 'form action=/send-email method=postEmail: input name=address type=text/brinput name=data type=hidden value='+escape(data)+'brinput type=submit value=Send//form'; - email.py: from google.appengine.api import mail from google.appengine.ext import webapp from google.appengine.ext.webapp.util import run_wsgi_app class SendEmail(webapp.RequestHandler): def post(self): user_address = self.request.get('address') if mail.is_email_valid(user_address): message = mail.EmailMessage(sender=nore...@example.com, subject=test) message.to = user_address message.body = test blah blah message.html = test blah blah + self.request.get('data') message.send() self.response.out.write('Email sent') application = webapp.WSGIApplication([('/send-email', SendEmail)], debug=True) def main(): run_wsgi_app(application) if __name__ == __main__: main() On Dec 16, 12:54 am, Alexander Kojevnikov alexan...@kojevnikov.com wrote: here is how i have setup the app.yaml,email.py and form.html, let me know whats wrong ??, how should i setup handler foremail.py in app.yaml ?? OK, here's how you can do it. app.yaml: - handlers: - url: /send-email script:email.py - url: (.*)/ static_files: static\1/index.html upload: static/index.html - url: / static_dir: static - email.py: from google.appengine.api import mail from google.appengine.ext import webapp from google.appengine.ext.webapp.util import run_wsgi_app class SendEmail(webapp.RequestHandler): def post(self): user_address = self.request.get('address') if mail.is_email_valid(user_address): sender_address = '@example.com' subject = 'test' body = testemail mail.send_mail(sender_address, user_address, subject, body) self.redirect('/form.html') application = webapp.WSGIApplication([('/send-email', SendEmail)], debug=True) def main(): run_wsgi_app(application) if __name__ == __main__: main() form.html: - form action=/send-email method=postEmail: input name=address type=text/ input type=submit value=Send/ /form - I didn't test it, let me know if something doesn't work. Regarding this line in your original code: # prompt user to enter a valid address You have quite a few options, the easiest one is probably to redirect to a static page containing an error message and a link back to theemailform. Other options will probably involve templates or and/or some javascript. Also note that the sender_address must be the administrator of your app or the currently signed in user:http://code.google.com/appengine/docs/mail/overview.html Hope this helps. --www.muspy.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: Can't create application
Hi Dan, If you fill out the form listed in this FAQ answer, we can approve your account without the SMS verification. http://code.google.com/appengine/kb/sms.html#error Thank you, Jeff On Dec 16, 5:11 pm, Dan dant...@dankok.com wrote: Hello, Any ideas? Hopefully some Google employees are monitoring this forum and can reset something like I've seen them do for others. Thanks, -- Dan On Dec 14, 2:04 pm, Dan dant...@dankok.com wrote: Hello, I frequently experience collisions between the various Google services that are supported by Google Apps for my domain and those that aren't. App Engine is one of them. At the moment I can't create a new Google App Engine application because it says that I have already used that phone number to verify my account. I have changed the mail address used for services not supported by Google Apps for my domain but I can't get any further. Any ideas? Thanks, -- Dan --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Error mac eclipse pydev appengine
I install eclipse + pydev + appengine in a Mac X and follow http://www.ibm.com/developerworks/opensource/library/os-eclipse-mashup-google-pt1/ it goes well with hello world aplication but with one like guest book says this error: from google.appengine.ext.webapp import template File /Applications/Development/GoogleAppEngineLauncher.app/Contents/ Resources/GoogleAppEngine-default.bundle/Contents/Resources/ google_appengine/google/appengine/ext/webapp/__init__.py, line 68, in module import webob ImportError: No module named webob --~--~-~--~~~---~--~~ You 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: Announcing: System Status Dashboard, Quota Details Page, and a Preview of Billing
Hi Marzia, I am in China, Google Checkout is not available in China. I suggest you provide more payment methods. On 12月17日, 上午7时59分, Marzia Niccolai ma...@google.com wrote: Hi, When billing launches, it will be available in US Dollars to any country where its possible to use Google Checkout. -Marzia On Tue, Dec 16, 2008 at 3:48 PM, Greg g.fawc...@gmail.com wrote: Cool! I have a commercial app launching in January, and can't wait for billing to arrive so I can stop worrying about quota exceptions. The screenshot shows a country selection field, for working out tax. Is this likely to delay billing for developers from non-US countries? New Zealand in particular? --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: how to submit form from static index.html
thanks Alexander, the setup and code worked, one more help, - how do i unescape string in python that was escaped in javascript and submitted?? I'm submitting html that is escaped from the form - escape(data) How do I unescape the self.request.get('data') in python and then mail it ? Python standard library has an escape() function but apparently doesn't have unescape(). You can use this code or google for a better solution: http://blog.modp.com/2008/10/html-unescape-in-python.html By the way, why do you use JavaScript for this? You can try a simple textarea instead: form action=/send-email method=post Email: input name=address type=text/br/ Message:br/ textarea name=data rows=10 cols=20test/textareabr/ input type=submit value=Send/ /form This way you don't need to unescape() the message. --~--~-~--~~~---~--~~ You 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: GqlQuery bind method - is it safe to share the same query instance between requests?
Ah, I see. It's safe because a new request will not be processed by the same instance of the python interpreter until the previous request has fully completed, right? Thanks, Ryan! On Dec 16, 7:37 pm, Ryan Barrett goo...@ryanb.org wrote: hi alex! you're right to be cautious, but happily, requests are not handled by different threads. our python interpreters are single threaded, and handle only a single request at a time. more: http://code.google.com/appengine/docs/python/sandbox.htmlhttp://groups.google.com/group/google-appengine/browse_thread/thread/... given that, you don't need to worry about concurrent accesses to the query global variable, so this should be safe. even better, fetch() re- runs the query from the beginning, so if the parameters are the same across requests, you don't even need to bind() each time. --~--~-~--~~~---~--~~ You 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: Send and receive mail with embedded images
When you say embedded images, do you mean as attachments, or an HTML email with image tags? I guess Dani means something else: http://www.systemnetmail.com/faq/4.4.aspx This method allows to refer to an inline attachment using img src=cid:image_content_id/. This is the only way to be sure the recipient actually sees the image as most MUAs don't display images from external URLs. Also, many MUAs and MTAs flag such emails as spam (and they have good reasons to do so). --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---
[google-appengine] Re: how to submit form from static index.html
I'm trying to email content that is in a div container on the webpage, so i'm submitting using a hidden input tag with value=escape (div.innerHTML) On Dec 16, 6:18 pm, Alexander Kojevnikov alexan...@kojevnikov.com wrote: thanks Alexander, the setup and code worked, one more help, - how do i unescape string in python that was escaped in javascript and submitted?? I'm submitting html that is escaped from the form - escape(data) How do I unescape the self.request.get('data') in python and then mail it ? Python standard library has an escape() function but apparently doesn't have unescape(). You can use this code or google for a better solution:http://blog.modp.com/2008/10/html-unescape-in-python.html By the way, why do you use JavaScript for this? You can try a simple textarea instead: form action=/send-email method=post Email: input name=address type=text/br/ Message:br/ textarea name=data rows=10 cols=20test/textareabr/ input type=submit value=Send/ /form This way you don't need to unescape() the message. --~--~-~--~~~---~--~~ You 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: CPU Time calculation
Sorry, it was a false alarm. After monitoring how the CPU usage changes for my app in the last few hours it became clear that I'm not going to exceed the free quota. However, there's definitely a change in how the CPU usage is _presented_, even if the calculation algorithm didn't change: In the past, the number grew only if the current usage was above the average allowed load. Now it shows the aggregate number of CPU hours for the current day. I definitely prefer the new method, it gives a better view on how the quota is used up. Thanks! Alex -- www.muspy.com On Dec 17, 11:41 am, Alexander Kojevnikov alexan...@kojevnikov.com wrote: Has the algorithm calculating the CPU Time been changed with the recent Dashboard update? I hardly ever reached 1% of the CPU quota, and most of the time it was at 0%. But now I'm at 4% and the number increases rapidly. If things continue like this I will reach the free quota before the next reset. Thanks, Alex --www.muspy.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: Announcing: System Status Dashboard, Quota Details Page, and a Preview of Billing
This is great news, after finishing my first larger app on appengine (http://www.golftuts.com) its great to see even more support and features keep coming On Dec 17, 4:45 am, Marzia Niccolai ma...@google.com wrote: Hi, As many of you have already noticed, we released some Admin Console changes today, and we've also announced a System Status Dashboard (http://code.google.com/status/appengine), and have some more details on Google App Engine's billing plans. You can read all about these announcements on our blog:http://googleappengine.blogspot.com/2008/12/system-status-dashboard-q... -Marzia --~--~-~--~~~---~--~~ You 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: Data is skipped
Hi, Marizia. I'm sorry to cross the post. I understand this issue is fixed. But I think that the data that put while the issue is remaining are under the influence of this issue. So the way to reccover the data is to register as new entity and to delete old one. Is it correct? Thanks. On 12月17日, 午前4:04, paptimus papti...@gmail.com wrote: Hi, Marzia. Also, have you tried adding this index to your index.yaml and uploading it with your application: - kind: Ownership properties: - name: user - name: deleted - name: created_on direction: desc I added and uploaded this index according as your advice. But this problem is not remaining. So I vacuumed the below index which is generated by sdk and previously created. - kind: Ownership properties: - name: deleted - name: user - name: created_on direction: desc But the situation is the same as before. Thanks. On 12月16日, 午前11:52, paptimus papti...@gmail.com wrote: Hi, Marzia. Thank you for your reply. It is missing. For example, I run this query: query = models.Ownership.all().filter('user =', papti...@gmail.com),filter('deleted =',False).order('- created_on').fetch(0, 20) These lists are my expecting/getting result. The getting result contains no 'NG' data but folowing 3 data. expecting: 2008-12-12 10:25:23.397434 2008-12-09 18:04:23.439058 2008-12-03 15:22:46.754546 2008-12-03 15:22:45.251281 2008-12-03 15:22:42.594933 2008-12-03 15:22:41.149333 2008-12-03 15:22:39.559995 2008-12-03 15:22:38.116000 2008-12-03 15:22:36.511006 2008-12-03 15:22:35.117080 2008-12-03 15:22:33.679363 2008-12-03 15:22:32.119234 2008-12-03 15:22:30.461840 2008-12-03 15:22:28.936849 2008-12-03 15:22:27.518304 2008-12-03 15:22:26.039718 2008-12-03 15:22:24.665877NG 2008-12-03 15:22:23.188243 2008-12-03 15:22:21.681791NG 2008-12-03 15:22:20.245579NG getting: 2008-12-12 10:25:23.397434 2008-12-09 18:04:23.439058 2008-12-03 15:22:46.754546 2008-12-03 15:22:45.251281 2008-12-03 15:22:42.594933 2008-12-03 15:22:41.149333 2008-12-03 15:22:39.559995 2008-12-03 15:22:38.116000 2008-12-03 15:22:36.511006 2008-12-03 15:22:35.117080 2008-12-03 15:22:33.679363 2008-12-03 15:22:32.119234 2008-12-03 15:22:30.461840 2008-12-03 15:22:28.936849 2008-12-03 15:22:27.518304 2008-12-03 15:22:26.039718 2008-12-03 15:22:23.188243 2008-12-03 15:22:18.783426 2008-12-03 15:22:17.303290 2008-12-03 15:22:13.102364 Thanks. On 12月16日, 午前5:18, Marzia Niccolai ma...@google.com wrote: Hi, Thanks for the report, but I'm not sure I understand how exactly your query is having an issue. Can you elaborate on this statement: The result set is ordered by '-created_on', but it is not sequential. What data are you getting? What data are you expecting? Is it misordered or missing? Also, have you tried adding this index to your index.yaml and uploading it with your application: - kind: Ownership properties: - name: user - name: deleted - name: created_on direction: desc Thanks, Marzia On Mon, Dec 15, 2008 at 11:05 AM, paptimus papti...@gmail.com wrote: I get an additional information. I vacuumed the problem index and rebuilt the same index. The number of result set before vacuum_index is not same as one of after that. Obviously, query is same. So I think my app get into this situation while rebuilding index. I hope gae team checks my app's index. My app id is 'book-case-2' and kind is 'Ownership'. Thanks. On 12月16日, 午前1:23, koji matsui papti...@gmail.com wrote: Hi, djidjadji, thanks for your comment. I tried both query as below: query = models.Ownership.all().filter('user', user),filter('deleted', False).order('-created_on').fetch(offset, amount) query = models.Ownership.all().filter('user =', user),filter('deleted =', False).order('-created_on').fetch(offset, amount) But the definition of index sdk generates is exactly the same. And lack of data in result set is the same. So, I think this problem happens when server creates the index. Thanks. 2008/12/15 djidjadji djidja...@gmail.com: A snippet from the manual == filter(property_operator, value) Adds a property condition filter to the query. Only entities with properties that meet all of the conditions will be returned by the query. Arguments: property_operator A string containing the property name and a comparison operator. The name and the operator must be separated by a space, as in: age The following comparison operators are supported: = = = (The not-equal (!=) and IN operators are not supported.) == You forget the comparison operator in your filter statements. 2008/12/13 paptimus
[google-appengine] Please reopen Issue 182: Mail API: python email module import fails when source code is changed ...
This dev_appserver issue has not gone away, and is still rather annoying during development. http://code.google.com/p/googleappengine/issues/detail?id=182 --~--~-~--~~~---~--~~ You 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: Django Head Scratching...
transx = db.GqlQuery(SELECT * FROM Transaction WHERE Key = : 1 , transx_key) transx is an instance of a GqlQuery object. To get the actual entity you should call the get() method: transx = db.GqlQuery(SELECT * FROM Transaction WHERE Key = :1 , transx_key).get() or transx = Transaction.gql('WHERE Key = :1' , transx_key).get() --~--~-~--~~~---~--~~ You 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: Announcing: System Status Dashboard, Quota Details Page, and a Preview of Billing
is it restrict all the data must store in datastore,and datastore is limit every record less than 1M? that means a big PNG image and Mp3 file is not store.if i use S3 , every time i use urlfetch to get file and return to user if I use S3 bing domain,it's public to everyone not need to pass through my sites. On Wed, Dec 17, 2008 at 11:30 AM, Cameron Singe csi...@gmail.com wrote: This is great news, after finishing my first larger app on appengine (http://www.golftuts.com) its great to see even more support and features keep coming On Dec 17, 4:45 am, Marzia Niccolai ma...@google.com wrote: Hi, As many of you have already noticed, we released some Admin Console changes today, and we've also announced a System Status Dashboard (http://code.google.com/status/appengine), and have some more details on Google App Engine's billing plans. You can read all about these announcements on our blog:http://googleappengine.blogspot.com/2008/12/system-status-dashboard-q... -Marzia --~--~-~--~~~---~--~~ You 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: Efficient paging using __key__ instead of a dedicated unique property
Has anybody taken on the challenge of implementing a library for this? I'd love to see one, but it's too big a task for me to tackle currently. One question springs to mind, however: What about user friendly / readable / hackable urls? How would you go about implementing e.g. ? page=10 or ?offset=42 with the entity bookmarks, in a way that doesn't require a bunch of processing (e.g. fragile) to maintain? ryan: We really *really* need some kind of pagination built-in though, it has to be said. It is more or less the number one constraint for everybody I've talked to, and something we all need in one way or another. The other constraints can be worked around with relative ease, but pagination is smack in your face for even the simplest stuff; And as you clearly demonstrate with the above, not exactly trivial to implement efficiently, not to mention in a scalable manner. Thanks, Thomas --~--~-~--~~~---~--~~ You 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] exceeding quota grrrrrrrr
the new quota details dashboard looks very nice. thanks for your hard work on this mr. and ms. googs. but hey, how come i've never had a problem with outgoing bandwidth before, and tonight my app is stuck in the red zone? the graph beside outgoing bandwidth is in the red (10.00 of 10.00 GBytes) but the rate is okay, whereas the Secure Outgoing Bandwidth graph is at zero, yet the rate is high. There's also a high rate for UrlFetch's Data Sent to API, but I don't use UrlFetch. sigh. pissed off users again for me. Ben ps. app is n3xt --~--~-~--~~~---~--~~ You 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: GAE: Beyond computer science
Agree completely Amir. I'm hopeful that more APIs will be released soon that will make the process even lighter for developers. Next hurdles to come down significantly will be identity (Google Friend Connect, FB Connect) and micropayments (?) . Ben On Dec 16, 2:42 pm, Amir Michail amich...@gmail.com wrote: Hi, I think the GAE is a real game-changer. It will result in an explosion of creativity that will dwarf what we have seen in Web 2.0 thus far. There's a lot of interesting computer science and software engineering involved in building the GAE, but I suspect less so in terms of building apps for it. This is particularly true since GAE apps will by necessity need to be simple so that they are scalable: there's only so much you can do in the time available for a request. And so IMO, the GAE is less about computer science and more about a new creative field -- more art than science. I think that's great. This is long overdue. See http://weblog.fortnow.com/2006/07/science-and-art-of-computation.html Amir --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Google App Engine group. To post to this group, send email to google-appengine@googlegroups.com To unsubscribe from this group, send email to google-appengine+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en -~--~~~~--~~--~--~---