[appengine-java] Filtering more than 3 parameters in JDOQL

2011-01-15 Thread Vik
Hie

I am not able to pass more than 3 parameters using below code. So, how to
pass more than 3 parameters?

Query query = pm.newQuery(BloodDonor.class);
 query.setFilter( state == :stateName  district == :distName  +
 city == :cityName  bloodGroup == :blood);
 @SuppressWarnings(unchecked)
ListBloodDonor donors = (ListBloodDonor)
query.execute(state.toLowerCase(), district.toLowerCase(),
 city.toLowerCase(), bloodGroup.toLowerCase());


Thankx and Regards

Vik
Founder
www.sakshum.com
www.sakshum.blogspot.com

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.



[appengine-java] Re: Error while trying uploading an image on live server

2011-01-15 Thread Christian Reiter
I think i no got the error. The request seemed to be incorrect because of 
the two write(baos, --+boundary+\r\n);

Now it seems to work properly.

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.



[appengine-java] Instead transparency I get black

2011-01-15 Thread Christian Reiter
Hi,

if i use the image service there seem to be some problems with transparency.

I tried to comibe two pictures. the first one without any transparency 
information and the second with some.
The picture with transparency is this 
onehttp://dl.dropbox.com/u/1716912/thurbo/error/overlay.png
:
https://lh6.googleusercontent.com/_ns5i2WXP9ek/TTG5dfkfAnI/AAM/P5j4iqj3dzI/overlay.png
some parts are complete white and some are transparent white. But what i get 
is the following:

https://lh4.googleusercontent.com/_ns5i2WXP9ek/TTG6FnFUdOI/AA4/S2AA89JeVW0/wrong.png



which obviously does not using transparency for combining the two pictures. 
There seems to be a black background behind the picture with the 
transparency.












code looks like this:
private byte[] createThumbnail(String path, int width, int height) throws 
IOException
{
/* some missing parts*/
 
 Image thumbnail = imagesService.applyTransform(crop, oldImage, 
ImagesService.OutputEncoding.PNG);
 
 // create overlay
 Composite th = ImagesServiceFactory.makeComposite(thumbnail, 0, 0, 
1.0f, Anchor.TOP_LEFT); // TODO: check if online works with transparency
 Composite ov = ImagesServiceFactory.makeComposite(overlay, 0, 0, 1.0f, 
Anchor.TOP_LEFT);
 LinkedListComposite finalImage = new LinkedListComposite();
 
 finalImage.push(ov);
 finalImage.push(th);
 
 thumbnail = imagesService.composite(finalImage,THUMBNAIL_WITH, 
THUMBNAIL_HEIGHT,0,ImagesService.OutputEncoding.PNG);
 
 return thumbnail.getImageData();
}

first i get the first pictures, which is in .jpg format, crop it and 
transform to .png. Then i try to stack the overlay with some transparency on 
it. 

Have you any ideas what causes the problem and/or have an idea how to work 
around this?

thanks

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.



Re: [appengine-java] Filtering more than 3 parameters in JDOQL

2011-01-15 Thread Stephen Johnson
There's another function executeWithArray on the query object that you  
can use.


Sent from my iPhone

On Jan 15, 2011, at 5:08 AM, Vik vik@gmail.com wrote:


Hie

I am not able to pass more than 3 parameters using below code. So,  
how to pass more than 3 parameters?


Query query = pm.newQuery(BloodDonor.class);
			query.setFilter( state == :stateName  district == :distName  
 +

 city == :cityName  bloodGroup == 
:blood);
@SuppressWarnings(unchecked)
			ListBloodDonor donors = (ListBloodDonor) query.execute 
(state.toLowerCase(), district.toLowerCase(),

city.toLowerCase(), 
bloodGroup.toLowerCase());


Thankx and Regards

Vik
Founder
www.sakshum.com
www.sakshum.blogspot.com
--
You received this message because you are subscribed to the Google  
Groups Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com 
.
To unsubscribe from this group, send email to google-appengine-java+unsubscr...@googlegroups.com 
.
For more options, visit this group at http://groups.google.com/group/google-appengine-java?hl=en 
.


--
You received this message because you are subscribed to the Google Groups Google 
App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.



[appengine-java] Re: Cross Browser Issue - Internet Explorer Blank

2011-01-15 Thread Segeboy
duh ... thnx

On Jan 14, 7:03 pm, Didier Durand durand.did...@gmail.com wrote:
 Hi,

 as it based on gwt (saw it in viewing page source code) and as it
 probably is a javascript issue, you've better chance if you ask in the
 GWT forum (and provide a bit more details on how its written)

 regards

 didier

 On Jan 14, 1:31 pm, Segeboy segun.sob...@gmail.com wrote: My app located @ 
 demo.schoolgrep.appspot.com is showing up as a blank
  page on internet explorer (tried version 6 and 8) but loads up fine on
  safari/chrome/firefox. Any ideas as to what the issue might be?

  Thanks

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.



[appengine-java] Custom location for local_db.bin?

2011-01-15 Thread Daniel Kvasnicka jr.
Hey,

is it possible to customize the location of local_db.bin? I need it to be 
somewhere outside the application, so that it doesn't get harmed.
I'm using NetBeans to develop apps and Clean  Build always destroys my 
data.
There must be some option for this, e.g. in appengine-web.xml, right?

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.



Re: [appengine-java] Custom location for local_db.bin?

2011-01-15 Thread A. Stevko
Why not just back it up or check-in to version control?
Another option is to use ln -s to move it.

On Sat, Jan 15, 2011 at 10:29 AM, Daniel Kvasnicka jr. 
daniel.kvasnicka...@gmail.com wrote:

 Hey,

 is it possible to customize the location of local_db.bin? I need it to be
 somewhere outside the application, so that it doesn't get harmed.
 I'm using NetBeans to develop apps and Clean  Build always destroys my
 data.
 There must be some option for this, e.g. in appengine-web.xml, right?

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine for Java group.
 To post to this group, send email to
 google-appengine-java@googlegroups.com.
 To unsubscribe from this group, send email to
 google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com
 .
 For more options, visit this group at
 http://groups.google.com/group/google-appengine-java?hl=en.




-- 
-- A. Stevko
===
If everything seems under control, you're just not going fast enough. M.
Andretti

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.



Re: [appengine-java] Mutation pool bug?

2011-01-15 Thread Stephen Johnson
Do you have this defined in your mapper class?

@Override

public void taskCleanup(Context context) {

try {

// make sure to call super classes taskCleanup so that the
DatastoreMutationPool

// gets flushed properly otherwise puts/deletes can be lost;

super.taskCleanup(context);

} catch (Exception ex) {

log.severe(ex.toString());

}

}


On Fri, Jan 14, 2011 at 11:34 PM, armanuj arun_rama...@yahoo.com wrote:

 Hi,

 I had earlier posted an issue such as out of mapper quota earlier
 (link below). I had about 260 entities being mapped (for a start), and
 not entities were getting updated. I was using the mutation pool for
 updates in the map routine. On further investigations, it appears that
 the mutation pool flushes after every 100 entities in it, and does not
 do so for the last batch of entities. Out of the 260 entities,
 everytime 60 entities would NOT be updated, but 200 would be. This
 appeared to be true even if your entity count was a multiple of 100 -
 the last 100 were not getting updated. However, this issue does not
 exist if I get rid of mutation pool, and put entities directly to the
 datastore - all entities are updated always.

 Is this is a bug, or is there something I am not doing correctly with
 mutation pools? The mutation pool code is fairly simple
 (mutationPool.put(entity)) - just as in Ikai's mapper blog post.

 Appreciate your help with this.

 Regards,
 Arun

 Earlier post:

 http://groups.google.com/group/google-appengine-java/browse_thread/thread/fe7fd75e2fa19a7e/a94b0efc6e50c361?hl=enlnk=gstq=out+of+mapper+quota#a94b0efc6e50c361

 --
 You received this message because you are subscribed to the Google Groups
 Google App Engine for Java group.
 To post to this group, send email to
 google-appengine-java@googlegroups.com.
 To unsubscribe from this group, send email to
 google-appengine-java+unsubscr...@googlegroups.comgoogle-appengine-java%2bunsubscr...@googlegroups.com
 .
 For more options, visit this group at
 http://groups.google.com/group/google-appengine-java?hl=en.



-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine for Java group.
To post to this group, send email to google-appengine-java@googlegroups.com.
To unsubscribe from this group, send email to 
google-appengine-java+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.



Re: [google-appengine] Entity groups - does work on a child lock the parent, and vice versa?

2011-01-15 Thread djidjadji
From the Python documentation:
When you use the App Engine datastore, every attempt to create,
update, or delete an entity happens in a transaction.

This means, I think, that GAE will perform/create a transaction for
you, in the API, if the put() code is not already inside a
transaction.
So you don't need to code a transaction to create a child object, GAE
will do that for you.

# no need for a transaction here.
Grok(parent=myFoo).put()  # python syntax

Code the transaction yourself if you need to modify multiple objects
in the entity group.

2011/1/13 Stephen Johnson onepagewo...@gmail.com:
 From the documentation:
 While an app is applying changes to entities in an entity group, all other
 attempts to update any entity in the group fail at commit time. Because of
 this design, using entity groups limits the number of concurrent writes you
 can do on any entity in that group. When a transaction starts, App Engine
 uses optimistic concurrency control by checking the last update time for the
 entity group. Upon commiting a transaction for an entity group, App Engine
 again checks the last update time for the entity group. If it has changed
 since our initial check, we throw an exception. For an explanation of entity
 groups, see Entity Groups.


 On Thu, Jan 13, 2011 at 10:48 AM, Mark mar...@gmail.com wrote:

 Hi,

 Let's say we have an entity group hierarchy like this:

    Foo
       |
       --- Grok

 Foo is the entity parent. Any time I add a Grok instance to the
 datastore, does the parent Foo instance have to be locked? Example:

    Transaction tx = pm.currentTransaction();
    try {
        tx.begin();

        Grok grok = new Grok();
        pm.makePersistent(grok);

        tx.commit(); // will a parent Foo get locked now?
    }
    finally {
        if (tx.isActive()) {
            tx.rollback();
    }

 I guess the same question then - if I'm performing a transaction on
 the parent Foo, will all its Grok instances be locked?

 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.



Re: [google-appengine] Re: Forming url with id number

2011-01-15 Thread djidjadji
You could use the URL dispatcher to check for validity of the passed
id by making the id part of the URL

http://me-for-president.appspot.com/item/1

in the code

class ItemPage(webapp.RequestHandler):
def get(self, id):
id = int(id)
# rest of the handler

application = webapp.WSGIApplication([('/item/(\d+)', ItemPage)],
 debug=True)

def main():
run_wsgi_app(application)


Use some sort of template engine. Much easier if the site or pages gets bigger.

-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] How to launch 100K+ recurring task every 5 min

2011-01-15 Thread Maxim Veksler
I think that GAE is not best solution for this kind of application.

You are much better with dedicated / cloud instances and Cassandra (or other
noSQL solution) to work around mysql scalability.


Maxim.

On Fri, Jan 14, 2011 at 8:24 PM, supercobra superco...@gmail.com wrote:

 Hello again,


  Again as Eli mentioned, to offer any solutions we'd need to know what
  you're trying to do in all those tasks.

 We are exploring the idea of migrating our website monitoring service
 Montastic (www.montastic.com) to GAE. Right now it works on MySQL but
 scalability becomes challenging and we need to explore a
 re-architecture of our system. GAE would be ideal if it was possible.
 So we do need to do a LOT of UrlFetch-es every 1, 2, 5 minutes.

 One of the challenge is to wait for 5 minutes. E.g. Fetch a URL, store
 results, wait 5 min, do it again. Since a queue will execute the task
 almost immediately (if it is empty) this would not work unless the
 queue is filled w/ a known number of tasks.


 Any suggestion welcome.


 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.comgoogle-appengine%2bunsubscr...@googlegroups.com
 .
 For more options, visit this group at
 http://groups.google.com/group/google-appengine?hl=en.



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



[google-appengine] Re: Forming url with id number

2011-01-15 Thread Zeynel
On Jan 15, 9:14 am, djidjadji djidja...@gmail.com wrote:
 You could use the URL dispatcher to check for validity of the passed
 id by making the id part of the URL

 http://me-for-president.appspot.com/item/1

 in the code

 class ItemPage(webapp.RequestHandler):
     def get(self, id):
         id = int(id)
         # rest of the handler

 application = webapp.WSGIApplication([('/item/(\d+)', ItemPage)],
                                      debug=True)

Thanks for this information! Exactly what I was trying to understand.

I changed the handler like this:

class Article(webapp.RequestHandler):
def get(self, id):
id = int(id)

self.response.out.write(a href=/item/%sarticle title/
a  %
(id))

and it works fine. But now how do I get the article title from the
other handler where it is inside the for loop. Because in this handler
I cannot use item.title. What is the way to do this?

Thanks again.

-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Re: How to launch 100K+ recurring task every 5 min

2011-01-15 Thread supercobra
The countdown parameter of TaskQueue is indeed a big help here. Thanks
for pointing that out.

-- superco...@gmail.com
http://supercobrablogger.blogspot.com/



On Fri, Jan 14, 2011 at 3:41 PM, Uros Trebec uros.tre...@gmail.com wrote:
 re

 On Jan 14, 7:24 pm, supercobra superco...@gmail.com wrote:
 One of the challenge is to wait for 5 minutes. E.g. Fetch a URL, store
 results, wait 5 min, do it again. Since a queue will execute the task
 almost immediately (if it is empty) this would not work unless the
 queue is filled w/ a known number of tasks.

 Any suggestion welcome.

 You can use the 'countdown' parameter in Task constructor (
 http://code.google.com/appengine/docs/python/taskqueue/tasks.html#Task
 ) to set the number of seconds for the Task to wait in the queue
 before executing. I use this for scheduling a task a few minutes in
 the future when UrlFetch returns the data I already have.

 lp,
 Uros

 --
 You received this message because you are subscribed to the Google Groups 
 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.



-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Re: How to launch 100K+ recurring task every 5 min

2011-01-15 Thread Fabrizio Accatino
Daniel,

since a couple of days I'm playing with TaskQueue + countdown. I'm trying to
create a HttpMonitor, exactly as you.  :)
The idea is the same as Eli Jones wrote: enque a task with a deferred run
using countdown. My tests show it works fine.

OK, ok, my test are not for business. I'm learning and testing GAE, in
particular Task Queue.
I hope to have an alpha version in the next days. Let me know if you need
more info.


Fabrizio


On Sat, Jan 15, 2011 at 5:03 PM, supercobra superco...@gmail.com wrote:

 The countdown parameter of TaskQueue is indeed a big help here. Thanks
 for pointing that out.

 -- superco...@gmail.com
 http://supercobrablogger.blogspot.com/




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



Re: [google-appengine] Re: Forming url with id number

2011-01-15 Thread djidjadji
First you make an index page containing all the items you want to show
based on a filtering, maybe date.

class ItemIndexPage(webapp.RequestHandler):
  def get(self):
items = Item.all().filter(...some filter...).fetch(1000)
self.response.out.write(ol)
for item in items:
self.response.out.write(lia href=%s%s/abr /
a href=/item/%scomments/a/li  %
   (cgi.escape(item.url),
cgi.escape(item.title), cgi.escape(item.key().id(
self.response.out.write(/ol)

And deal with the individual item in the next handler

class ItemPage(webapp.RequestHandler):
  def get(self, id):
id = int(id)
item = Item.get_by_id(id)
# rest of the handler

application = webapp.WSGIApplication([('/items',
ItemIndexPage)],('/item/(\d+)', ItemPage)],
debug=True)

-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] How to launch 100K+ recurring task every 5 min

2011-01-15 Thread djidjadji
If you want to use GWT for the frontend you can use Python for the backend.

2011/1/14 supercobra superco...@gmail.com:
 Hi Eli,

 Thanks for the great feedback. If Task Queue Java is as evolved as
 Phyton that maybe the way to go.
 -- superco...@gmail.com
 http://supercobrablogger.blogspot.com/

-- 
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-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] in future, can i change my datastore to High Replication without changing appid?

2011-01-15 Thread saintthor
as title.

-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] in future, can i change my datastore to High Replication without changing appid?

2011-01-15 Thread Barry Hunter
No.

http://code.google.com/appengine/docs/python/datastore/hr/

I beleive the recommended solution if you anticipate you might want to
switch, is to use a custom domain.

That way can remap the domain to a new appid if you do change the datastore.


On 15 January 2011 17:11, saintthor saintt...@gmail.com wrote:
 as title.

 --
 You received this message because you are subscribed to the Google Groups 
 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.



-- 
You received this message because you are subscribed to the Google Groups 
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: Forming url with id number

2011-01-15 Thread Zeynel
On Jan 15, 11:18 am, djidjadji djidja...@gmail.com wrote:
 And deal with the individual item in the next handler

 class ItemPage(webapp.RequestHandler):
   def get(self, id):
     id = int(id)
     item = Item.get_by_id(id)
     # rest of the handler


Thanks for your help. This works:

class Article(webapp.RequestHandler):
def get(self, id):
id = int(id)
item = Item.get_by_id(id)
...

self.response.out.write(a href=%s%s/a  %
(cgi.escape(item.url),
cgi.escape(item.title)))

-- 
You received this message because you are subscribed to the Google Groups 
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] Deal Breaker: App not visible in China

2011-01-15 Thread GAEfan
Is there any solution to this, or is this something that Google is
working on?

Our most recent app has China as an important market.  Yet, it appears
China is again blocking the Google IP addresses, as our customers
cannot get to the site.

This is a deal breaker for this and many other apps.  Please tell me
this will be fixed soon, or propose a solution.

Thank you.

-- 
You received this message because you are subscribed to the Google Groups 
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] users.create_logout_url(/) not working

2011-01-15 Thread Zeynel
I am using this standard code from documentation
http://code.google.com/appengine/docs/python/users/overview.html:

if user:
greeting = (%s (a href=\%s\sign out/a) %
   (user.nickname(), users.create_logout_url(/)))
else:
greeting = (a href=\%s\Sign in or register/a. %
   users.create_login_url(/))

but I get broken link error.

Is this related to this issue? 
http://code.google.com/p/googleappengine/issues/detail?id=353
Is there a fix? Or am I doing something wrong?

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



Re: [google-appengine] Deal Breaker: App not visible in China

2011-01-15 Thread A. Stevko
It'll be fixed when google gets the contract for managing the GFW and
unblocks ghs.google.com
I suggest searching this forum for 'reverse proxy' and 'turkey' to see a
recent conversation on the matter.



On Sat, Jan 15, 2011 at 11:53 AM, GAEfan ken...@gmail.com wrote:

 Is there any solution to this, or is this something that Google is
 working on?

 Our most recent app has China as an important market.  Yet, it appears
 China is again blocking the Google IP addresses, as our customers
 cannot get to the site.

 This is a deal breaker for this and many other apps.  Please tell me
 this will be fixed soon, or propose a solution.

 Thank you.

 --
 You received this message because you are subscribed to the Google Groups
 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.comgoogle-appengine%2bunsubscr...@googlegroups.com
 .
 For more options, visit this group at
 http://groups.google.com/group/google-appengine?hl=en.




-- 
-- A. Stevko
===
If everything seems under control, you're just not going fast enough. M.
Andretti

-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Task Queue errors on deployment

2011-01-15 Thread Chris Vaughn
Ikai - my app id is comm-q.

My queue.xml file is posted below. I just tried to update the queue 
configuration with this file and received the same error.  I reduced the 
number of queues to see if that would make a difference but it has not.

  queue-entries

  queue

namemailman-queue-1/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-2/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-3/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-4/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-5/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-6/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-7/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-8/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-9/name

rate50/s/rate

bucket-size20/bucket-size

  /queue


  queue

namemailman-queue-10/name

rate50/s/rate

bucket-size20/bucket-size

  /queue


  queue

namemailman-queue-11/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-12/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-13/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-14/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-15/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-16/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-17/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-18/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-19/name

rate50/s/rate

bucket-size20/bucket-size

  /queue


  queue

namemailman-queue-20/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-21/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-22/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-23/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-24/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-25/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-26/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-27/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-28/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-29/name

rate50/s/rate

bucket-size20/bucket-size

  /queue


  queue

namemailman-queue-30/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-31/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-32/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-33/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-34/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-35/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-36/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-37/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-38/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-39/name

rate50/s/rate

bucket-size20/bucket-size

  /queue


  queue

namemailman-queue-40/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-41/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-42/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-43/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-44/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-45/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-46/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue

namemailman-queue-47/name

rate50/s/rate

bucket-size20/bucket-size

  /queue

  queue


[google-appengine] Signing email with DKIM to reduce spam

2011-01-15 Thread Greg
Hi -

I got quite excited when I heard that Google had implemented DKIM for
Google Apps, and hoped we would be able to reduce the number of our
apps' messages that end up in spam folders. I've written an article
about DKIM, why you should implement it now, and how to do this with
Google Apps here:

http://neogregious.blogspot.com/2011/01/dkim-for-google-apps-and-appengine.html

Unfortunately I found that DKIM for Google Apps does not translate
into DKIM for Appengine. Depending on how quickly DKIM spreads, this
could make sending email from Appengine pointless, as spam filters
will make non-DKIM ever more strongly associated with spam. Please
star this issue if this will affect you:

http://code.google.com/p/googleappengine/issues/detail?id=3161

Cheers!
Greg.

-- 
You received this message because you are subscribed to the Google Groups 
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: Some emails are not being received by my users

2011-01-15 Thread Greg
On Jan 15, 7:04 am, Joshua Smith joshuaesm...@charter.net wrote:
 You can try to avoid this by avoiding looking like spam (carefully choose 
 your wording, send *both* HTML and plain text versions of the message, etc.).

Also set up SPF (Google is your friend), and star this issue asking
for DKIM to be implemented for appengine:

http://code.google.com/p/googleappengine/issues/detail?id=3161

-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Task Queue errors on deployment

2011-01-15 Thread Chris Vaughn
Thanks Robert.  I used 10 queues for the last 10 months or so.  When I 
updated to 1.4.0 I changed some code to use all 100 queues.  After I made 
this change everything continued working and all 100 queues were being used. 
I didn't rename any existing queues I only added additional ones.  

I think the last thing I did before I noticed it wasn't working is that I 
added a python app so that I could use some of the datastore tools that are 
python only.  Days later I uploaded new code to my JAVA instance with no 
changes to queue.xml and received the error for the first time. I also 
noticed at this time that I could not go to the Task Queue Admin 
Console because I was getting a 500 error. That issue was since fixed with 
under issue 4342http://code.google.com/p/googleappengine/issues/detail?id=4342
  

-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Re: How to launch 100K+ recurring task every 5 min

2011-01-15 Thread Robert Kluin
I think Eli has a good suggestion (again), use task-chaining with
countdowns + async urlfetches in small batches.  Just beware,
countdowns are only an estimate, and if the queue is backing up the
task may not run when you want.

Just thinking about this, I would probably try to batch similarly
performing websites into small batches to monitor together.  So if you
got sites that typically respond very fast group them, like-wise for
slow sites.  I suspect that will help you optimize your queue layouts,
maybe you could use some queues for 'fast' and others for 'slow'
groups.  Just some thoughts.

I also agree with some of the other commenters, you should setup some
tests and see if you still feel like this is the right platform for
your app.


Robert








On Sat, Jan 15, 2011 at 11:03, supercobra superco...@gmail.com wrote:
 The countdown parameter of TaskQueue is indeed a big help here. Thanks
 for pointing that out.

 -- superco...@gmail.com
 http://supercobrablogger.blogspot.com/



 On Fri, Jan 14, 2011 at 3:41 PM, Uros Trebec uros.tre...@gmail.com wrote:
 re

 On Jan 14, 7:24 pm, supercobra superco...@gmail.com wrote:
 One of the challenge is to wait for 5 minutes. E.g. Fetch a URL, store
 results, wait 5 min, do it again. Since a queue will execute the task
 almost immediately (if it is empty) this would not work unless the
 queue is filled w/ a known number of tasks.

 Any suggestion welcome.

 You can use the 'countdown' parameter in Task constructor (
 http://code.google.com/appengine/docs/python/taskqueue/tasks.html#Task
 ) to set the number of seconds for the Task to wait in the queue
 before executing. I use this for scheduling a task a few minutes in
 the future when UrlFetch returns the data I already have.

 lp,
 Uros

 --
 You received this message because you are subscribed to the Google Groups 
 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.



 --
 You received this message because you are subscribed to the Google Groups 
 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.



-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] Getting User nickname from item.author

2011-01-15 Thread Robert Kluin
Hi Zeynel,
  I guess it depends on exactly what item.author is, but have you
tried author.nickname()?
 
http://code.google.com/appengine/docs/python/users/userclass.html#User_nickname

  Also, if author is just a string, you might simply want to use:
  author.split('@', 1)[0]




Robert







On Sat, Jan 15, 2011 at 20:10, Zeynel azeyn...@gmail.com wrote:
        items = db.GqlQuery(SELECT * FROM Item ORDER BY date DESC
 LIMIT 30)

        self.response.out.write(ol)
        for item in items:
            self.response.out.write(lia href=%s%s/a br /
                                           div style=color: #808080;
 font-size: x-small;by %s a href=/item/%scomments/a/div/
 libr /  %
                                           (cgi.escape(item.url),
                                            cgi.escape(item.title),
                                            item.author,

 cgi.escape(str(item.key().id())),
                                            ))
        self.response.out.write(/ol)

 In this code i am trying to strip the user name from item.author
 which is the gmail account of the user.

 I tried regex from here 
 http://stackoverflow.com/questions/1038824/python-strip-a-string/1038873#1038873

 re.match(r(.*)@, item.author).group(1)

 but this gives the error

  File C:\Python26\lib\re.py, line 137, in match
    return _compile(pattern, flags).match(string)
 TypeError: expected string or buffer

 I tried str(item.author) but it did not work. It works on IDLE:

 email = a@gmail
 re.match(r(.*)@, email).group(1)
 'a'

 --
 You received this message because you are subscribed to the Google Groups 
 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.



-- 
You received this message because you are subscribed to the Google Groups 
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.



Re: [google-appengine] users.create_logout_url(/) not working

2011-01-15 Thread Robert Kluin
Hi Zeynel,
  What kind of auth does your app use, Google, Apps Domain, Federated?
 You might also want to explain the actual problem in more detail.
What are the links produced, etc...



Robert









On Sat, Jan 15, 2011 at 15:10, Zeynel azeyn...@gmail.com wrote:
 I am using this standard code from documentation
 http://code.google.com/appengine/docs/python/users/overview.html:

 if user:
    greeting = (%s (a href=\%s\sign out/a) %
                   (user.nickname(), users.create_logout_url(/)))
 else:
    greeting = (a href=\%s\Sign in or register/a. %
                   users.create_login_url(/))

 but I get broken link error.

 Is this related to this issue? 
 http://code.google.com/p/googleappengine/issues/detail?id=353
 Is there a fix? Or am I doing something wrong?

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



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



[google-appengine] Re: in future, can i change my datastore to High Replication without changing appid?

2011-01-15 Thread saintthor
all custom domains from china to google apps are gfwed

On 1月16日, 上午1时13分, Barry Hunter barrybhun...@gmail.com wrote:
 No.

 http://code.google.com/appengine/docs/python/datastore/hr/

 I beleive the recommended solution if you anticipate you might want to
 switch, is to use a custom domain.

 That way can remap the domain to a new appid if you do change the datastore.

 On 15 January 2011 17:11, saintthor saintt...@gmail.com wrote:

  as title.

  --
  You received this message because you are subscribed to the Google Groups 
  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 
  athttp://groups.google.com/group/google-appengine?hl=en.

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