[google-appengine] Re: Parallel urlfetch utility class / function.

2009-03-18 Thread David Wilson

Hey Joe,

With the gdata package you can do something like this instead:


As usual, completely untested code, but looks about right..


from youtube import YouTubeVideoFeedFromString


def get_feeds_async(usernames):
fetcher = megafetch.Fetcher()
output = {}

def cb(username, result):
if isinstance(output, Exception):
logging.error('could not fetch: %s', output)
content = None
else:
content = YouTubeVideoFeedFromString(result.content)
output[username] = content

for username in usernames:
url = 'http://gdata.youtube.com/feeds/api/users/%s/uploads' %\
(username,)
fetcher.start(url, lambda result: cb(username, result))

fetcher.wait()
return output


feeds = get_feeds_async([ 'davemw', 'waverlyflams', 'googletechtalks',
  'TheOnion', 'winterelaxation' ])

# feeds is now a mapping of usernames to YouTubeVideoFeed instances,
or None if could not be fetched.


2009/3/18 Joe Bowman bowman.jos...@gmail.com:

 This may be a really dumb question, but.. I'm still learning so...

 Is there a way to do something other than a direct api call
 asynchronously? I'm writing a script that pulls from multiple sources,
 sometimes with higher level calls that use urlfetch, such as gdata.
 Since I'm attempting to pull from multiple sources, and sometimes
 multiple urls from each source, I'm trying to figure out if it's
 possible to run other methods at the same time.

 For example, I want to pull a youtube entry for several different
 authors. The youtube api doesn't allow multiple authors in a request
 (I have a enhancement request in for that though), so I need to do a
 yt_service.GetYouTubeVideoFeed() for each author, then splice them
 together into one feed. As I'm also working with Boss, and eventually
 Twitter, I'll have feeds to pull from those sources as well.

 My current application layout is using appengine-patch to provide
 django. I've set up a Boss and Youtube model with get methods that
 handle getting the data. So I can do something similar to:

 web_results = models.Boss.get(request.GET['term'], start=start)
 news_results = models.Boss.get(request.GET['term'], vertical=news,
 start=start)
 youtube = models.Youtube.get(request.GET['term'], start=start)

 Ideally, I'd like some of those models to be able to do asynchronous
 tasks within their get function, and then also, I'd like to run the
 above requests at the same, which should really speed the request up.


 On Mar 17, 9:20 am, Joe Bowman bowman.jos...@gmail.com wrote:
 Thanks,

 I'm going to give it a go for urlfetch calls for one project I'm
 working on this week.

 Not sure when I'd be able to include it in gaeutiltiies for cron and
 such, that project is currently lower on my priority list at the
 moment, but can't wait until I get a chance to play with it. Another
 idea I had for it is the ROTmodel (retry on timeout model) in the
 project, which could speed that process up.

 On Mar 17, 9:11 am, David Wilson d...@botanicus.net wrote:

  2009/3/16 Joe Bowman bowman.jos...@gmail.com:

   Wow that's great. The SDK might be problematic for you, as it appears
   to be very single threaded, I know for a fact it can't reply to
   requests to itself.

   Out of curiosity, are you still using base urlfetch, or is it your own
   creation? While when Google releases their scheduled tasks
   functionality it will be less of an issue, if your solution had the
   ability to fire off urlfetch calls and not wait for a response, it
   could be a perfect fit for the gaeutilities cron utility.

   Currently it grabs a list of tasks it's supposed to run on request,
   sets a timestamp, runs one, the compares now() to the timestamp and if
   the timedelta is more than 1 second, stops running tasks and finishes
   the request. It already appears your project would be perfect for
   running all necessary tasks at once, and the MIT License I believe is
   compatible with the BSD license I've released gaeutilities, so would
   you have any personal objection to me including it in gaeutilities at
   some point, with proper attribution of course?

  Sorry I missed this in the first reply - yeah work away! :)

  David

   If you haven't see that project, it's url 
   ishttp://gaeutilities.appspot.com/

   On Mar 16, 11:03 am, David Wilson d...@botanicus.net wrote:
   Joe,

   I've only tested it in production. ;)

   The code should work serially on the SDK, but I haven't tried yet.

   David.

   2009/3/16 Joe Bowman bowman.jos...@gmail.com:

Does the batch fetching working on live appengine applications, or
only on the SDK?

On Mar 16, 10:19 am, David Wilson d...@botanicus.net wrote:
I have no idea how definitive this is, but literally it means wall
clock time seems to be how CPU cost is measured. I guess this makes
sense for a few different reasons.

I found some internal function

[google-appengine] Re: Parallel urlfetch utility class / function.

2009-03-18 Thread Joe Bowman

Ah ha.. thanks David.

And for the views, if I really wanted to launch everything at once, I
could map my boss, youtube, twitter, etc etc pulls to their own urls,
and use megafetch in my master view to pull those urls all at once
too.

On Mar 18, 5:14 am, David Wilson d...@botanicus.net wrote:
 Hey Joe,

 With the gdata package you can do something like this instead:

 As usual, completely untested code, but looks about right..

 from youtube import YouTubeVideoFeedFromString

 def get_feeds_async(usernames):
     fetcher = megafetch.Fetcher()
     output = {}

     def cb(username, result):
         if isinstance(output, Exception):
             logging.error('could not fetch: %s', output)
             content = None
         else:
             content = YouTubeVideoFeedFromString(result.content)
         output[username] = content

     for username in usernames:
         url = 'http://gdata.youtube.com/feeds/api/users/%s/uploads'%\
             (username,)
         fetcher.start(url, lambda result: cb(username, result))

     fetcher.wait()
     return output

 feeds = get_feeds_async([ 'davemw', 'waverlyflams', 'googletechtalks',
                           'TheOnion', 'winterelaxation' ])

 # feeds is now a mapping of usernames to YouTubeVideoFeed instances,
 or None if could not be fetched.

 2009/3/18 Joe Bowman bowman.jos...@gmail.com:



  This may be a really dumb question, but.. I'm still learning so...

  Is there a way to do something other than a direct api call
  asynchronously? I'm writing a script that pulls from multiple sources,
  sometimes with higher level calls that use urlfetch, such as gdata.
  Since I'm attempting to pull from multiple sources, and sometimes
  multiple urls from each source, I'm trying to figure out if it's
  possible to run other methods at the same time.

  For example, I want to pull a youtube entry for several different
  authors. The youtube api doesn't allow multiple authors in a request
  (I have a enhancement request in for that though), so I need to do a
  yt_service.GetYouTubeVideoFeed() for each author, then splice them
  together into one feed. As I'm also working with Boss, and eventually
  Twitter, I'll have feeds to pull from those sources as well.

  My current application layout is using appengine-patch to provide
  django. I've set up a Boss and Youtube model with get methods that
  handle getting the data. So I can do something similar to:

  web_results = models.Boss.get(request.GET['term'], start=start)
  news_results = models.Boss.get(request.GET['term'], vertical=news,
  start=start)
  youtube = models.Youtube.get(request.GET['term'], start=start)

  Ideally, I'd like some of those models to be able to do asynchronous
  tasks within their get function, and then also, I'd like to run the
  above requests at the same, which should really speed the request up.

  On Mar 17, 9:20 am, Joe Bowman bowman.jos...@gmail.com wrote:
  Thanks,

  I'm going to give it a go for urlfetch calls for one project I'm
  working on this week.

  Not sure when I'd be able to include it in gaeutiltiies for cron and
  such, that project is currently lower on my priority list at the
  moment, but can't wait until I get a chance to play with it. Another
  idea I had for it is the ROTmodel (retry on timeout model) in the
  project, which could speed that process up.

  On Mar 17, 9:11 am, David Wilson d...@botanicus.net wrote:

   2009/3/16 Joe Bowman bowman.jos...@gmail.com:

Wow that's great. The SDK might be problematic for you, as it appears
to be very single threaded, I know for a fact it can't reply to
requests to itself.

Out of curiosity, are you still using base urlfetch, or is it your own
creation? While when Google releases their scheduled tasks
functionality it will be less of an issue, if your solution had the
ability to fire off urlfetch calls and not wait for a response, it
could be a perfect fit for the gaeutilities cron utility.

Currently it grabs a list of tasks it's supposed to run on request,
sets a timestamp, runs one, the compares now() to the timestamp and if
the timedelta is more than 1 second, stops running tasks and finishes
the request. It already appears your project would be perfect for
running all necessary tasks at once, and the MIT License I believe is
compatible with the BSD license I've released gaeutilities, so would
you have any personal objection to me including it in gaeutilities at
some point, with proper attribution of course?

   Sorry I missed this in the first reply - yeah work away! :)

   David

If you haven't see that project, it's url 
ishttp://gaeutilities.appspot.com/

On Mar 16, 11:03 am, David Wilson d...@botanicus.net wrote:
Joe,

I've only tested it in production. ;)

The code should work serially on the SDK, but I haven't tried yet.

David.

2009/3/16 Joe Bowman bowman.jos...@gmail.com:

 Does the batch fetching 

[google-appengine] when will the data be deleted?

2009-03-18 Thread Coonay

Hi, GAE ENGINEER:

Yu do a great job,but may i ask a few question:

1:assume a module in my application created a 5k reccords in the
datastore,but after some time ,the module was diacard,
  the data will not be used for a long time such as half a year,will
the data be deleted by GAE team?and when?


2:is there a tool to export my data in the datastore?

thanks so much for ur time to answer  my question



--~--~-~--~~~---~--~~
You 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: when will the data be deleted?

2009-03-18 Thread peterk

Google does not delete your data.

Re. exporting data from your datastore, this may be of interest (first
result on google for google app engine data export):

http://aralbalkan.com/1448



On Mar 18, 10:21 am, Coonay fla...@gmail.com wrote:
 Hi, GAE ENGINEER:

 Yu do a great job,but may i ask a few question:

 1:assume a module in my application created a 5k reccords in the
 datastore,but after some time ,the module was diacard,
   the data will not be used for a long time such as half a year,will
 the data be deleted by GAE team?and when?

 2:is there a tool to export my data in the datastore?

 thanks so much for ur time to answer  my question
--~--~-~--~~~---~--~~
You 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: Initializing datastore with binary data

2009-03-18 Thread Nick Johnson

You're probably putting the remote_api handler _after_ your catchall
handler. What does your app.yaml file look like?

-Nick Johnson

On Mar 6, 8:54 pm, Pavel Byles pavelby...@gmail.com wrote:
 I have no idea why I'm getting errors when I do:

  import helloworld
  from google.appengine.ext import db
  entries = helloworld.Greeting.all().order(-date).fetch(10)

 and my app.yaml contains:
 - url: /remote_api
   script: $PYTHON_LIB/google/appengine/ext/remote_api/handler.py
   login: admin

 The dev_appserver gives this error:
 INFO 2009-03-06 20:51:38,287 dev_appserver_index.py] Updating /
 home/wikid/Code/google_appengine_v2/caribbeanvisit/index.yaml
 INFO 2009-03-06 20:51:50,570 dev_appserver.py] POST /remote_api?
 HTTP/1.1 404 -

 Here's the error:
 Traceback (most recent call last):
   File console, line 1, in module
   File /home/wikid/Code/google_appengine_v2/google/appengine/ext/db/
 __init__.py, line 1390, in fetch
 raw = self._get_query().Get(limit, offset)
   File /home/wikid/Code/google_appengine_v2/google/appengine/api/
 datastore.py, line 942, in Get
 return self._Run(limit, offset)._Next(limit)
   File /home/wikid/Code/google_appengine_v2/google/appengine/api/
 datastore.py, line 1536, in _Next
 apiproxy_stub_map.MakeSyncCall('datastore_v3', 'Next', req,
 result)
   File /home/wikid/Code/google_appengine_v2/google/appengine/api/
 apiproxy_stub_map.py, line 68, in MakeSyncCall
 apiproxy.MakeSyncCall(service, call, request, response)
   File /home/wikid/Code/google_appengine_v2/google/appengine/api/
 apiproxy_stub_map.py, line 240, in MakeSyncCall
 stub.MakeSyncCall(service, call, request, response)
   File 
 /home/wikid/Code/google_appengine_v2/google/appengine/ext/remote_api/remote_api_stub.py,
  line 169, in MakeSyncCall
 handler(request, response)
   File 
 /home/wikid/Code/google_appengine_v2/google/appengine/ext/remote_api/remote_api_stub.py,
  line 207, in _Dynamic_Next
 'remote_datastore', 'RunQuery', request, query_result)
   File 
 /home/wikid/Code/google_appengine_v2/google/appengine/ext/remote_api/remote_api_stub.py,
  line 135, in MakeSyncCall
 request_pb.Encode()))
   File /home/wikid/Code/google_appengine_v2/google/appengine/tools/
 appengine_rpc.py, line 303, in Send
 f = self.opener.open(req)
   File /usr/lib/python2.5/urllib2.py, line 387, in open
 response = meth(req, response)
   File /usr/lib/python2.5/urllib2.py, line 498, in http_response
 'http', request, response, code, msg, hdrs)
   File /usr/lib/python2.5/urllib2.py, line 425, in error
 return self._call_chain(*args)
   File /usr/lib/python2.5/urllib2.py, line 360, in _call_chain
 result = func(*args)
   File /usr/lib/python2.5/urllib2.py, line 506, in
 http_error_default
 raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
 HTTPError: HTTP Error 404: Not Found

 On Mar 4, 9:18 am, Nick Johnson arach...@notdot.net wrote:

  You can do what you want withremote_apiand a little custom code. See
  the article here:http://code.google.com/appengine/articles/remote_api.html

  -Nick Johnson

  On Mar 4, 3:04 am, Pavel Byles pavelby...@gmail.com wrote:

   Is there a way to initialize thedatastorewith binary data to be stored in
   a blob field (without using a form)?

   I have tried putting the data into a CSV file and uploading it using
   bulkloader, but that didn't seem to work.

   Any help would be appreciated.
   --
   -Pav
--~--~-~--~~~---~--~~
You 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: Parallel urlfetch utility class / function.

2009-03-18 Thread bFlood

hey david,joe

I've got the async datastore Get working but I'm not sure the
callbacks are being run on a background thread. they appear to be when
you examine something like the thread local storage (hashes are all
unique) but then if you insert just a simple time.sleep they appear to
run serially. (note - while not completely new to async code, this is
my first run with python so I'm not sure of the threading contentions
of something like sleep or logging.debug)

I would like to be able to run some code just after the fetch for each
entity, the hope is that this would be run in parallel

any thoughts?

cheers
brian

On Mar 18, 6:14 am, Joe Bowman bowman.jos...@gmail.com wrote:
 Ah ha.. thanks David.

 And for the views, if I really wanted to launch everything at once, I
 could map my boss, youtube, twitter, etc etc pulls to their own urls,
 and use megafetch in my master view to pull those urls all at once
 too.

 On Mar 18, 5:14 am, David Wilson d...@botanicus.net wrote:

  Hey Joe,

  With the gdata package you can do something like this instead:

  As usual, completely untested code, but looks about right..

  from youtube import YouTubeVideoFeedFromString

  def get_feeds_async(usernames):
      fetcher = megafetch.Fetcher()
      output = {}

      def cb(username, result):
          if isinstance(output, Exception):
              logging.error('could not fetch: %s', output)
              content = None
          else:
              content = YouTubeVideoFeedFromString(result.content)
          output[username] = content

      for username in usernames:
          url = 'http://gdata.youtube.com/feeds/api/users/%s/uploads'%\
              (username,)
          fetcher.start(url, lambda result: cb(username, result))

      fetcher.wait()
      return output

  feeds = get_feeds_async([ 'davemw', 'waverlyflams', 'googletechtalks',
                            'TheOnion', 'winterelaxation' ])

  # feeds is now a mapping of usernames to YouTubeVideoFeed instances,
  or None if could not be fetched.

  2009/3/18 Joe Bowman bowman.jos...@gmail.com:

   This may be a really dumb question, but.. I'm still learning so...

   Is there a way to do something other than a direct api call
   asynchronously? I'm writing a script that pulls from multiple sources,
   sometimes with higher level calls that use urlfetch, such as gdata.
   Since I'm attempting to pull from multiple sources, and sometimes
   multiple urls from each source, I'm trying to figure out if it's
   possible to run other methods at the same time.

   For example, I want to pull a youtube entry for several different
   authors. The youtube api doesn't allow multiple authors in a request
   (I have a enhancement request in for that though), so I need to do a
   yt_service.GetYouTubeVideoFeed() for each author, then splice them
   together into one feed. As I'm also working with Boss, and eventually
   Twitter, I'll have feeds to pull from those sources as well.

   My current application layout is using appengine-patch to provide
   django. I've set up a Boss and Youtube model with get methods that
   handle getting the data. So I can do something similar to:

   web_results = models.Boss.get(request.GET['term'], start=start)
   news_results = models.Boss.get(request.GET['term'], vertical=news,
   start=start)
   youtube = models.Youtube.get(request.GET['term'], start=start)

   Ideally, I'd like some of those models to be able to do asynchronous
   tasks within their get function, and then also, I'd like to run the
   above requests at the same, which should really speed the request up.

   On Mar 17, 9:20 am, Joe Bowman bowman.jos...@gmail.com wrote:
   Thanks,

   I'm going to give it a go for urlfetch calls for one project I'm
   working on this week.

   Not sure when I'd be able to include it in gaeutiltiies for cron and
   such, that project is currently lower on my priority list at the
   moment, but can't wait until I get a chance to play with it. Another
   idea I had for it is the ROTmodel (retry on timeout model) in the
   project, which could speed that process up.

   On Mar 17, 9:11 am, David Wilson d...@botanicus.net wrote:

2009/3/16 Joe Bowman bowman.jos...@gmail.com:

 Wow that's great. The SDK might be problematic for you, as it appears
 to be very single threaded, I know for a fact it can't reply to
 requests to itself.

 Out of curiosity, are you still using base urlfetch, or is it your 
 own
 creation? While when Google releases their scheduled tasks
 functionality it will be less of an issue, if your solution had the
 ability to fire off urlfetch calls and not wait for a response, it
 could be a perfect fit for the gaeutilities cron utility.

 Currently it grabs a list of tasks it's supposed to run on request,
 sets a timestamp, runs one, the compares now() to the timestamp and 
 if
 the timedelta is more than 1 second, stops running tasks and finishes
 the 

[google-appengine] Data model in folder

2009-03-18 Thread Ronn Ross
I have placed my data model in a separate folder. For example:
DataModels/AccountData.py

Now I want to import it into my main controller. I'm trying:
from DataModels.AccountData import Accounts

it give me this error when I try to run it:
*type 'exceptions.ImportError'*: No module named AccountData
  args = ('No module named AccountData',)
  message = 'No module named AccountData'

What am I doing wrong. Can someone help? thx

--~--~-~--~~~---~--~~
You 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] BadValueError: phone must not be empty.

2009-03-18 Thread nate12o6

I am trying to use the bulk loader but am having trouble with it.
This is my code:

modules.py:

from google.appengine.ext import db

class Installs(db.Model):
status = db.StringProperty()
scheduled_date = db.DateProperty()
customer_name = db.StringProperty()
contractor_name = db.StringProperty()
phone = db.PhoneNumberProperty(default='not provided')
address = db.StringProperty()
city = db.StringProperty()
door_size_type = db.TextProperty()
door_color = db.StringProperty()
tech_assigned = db.StringProperty()

main.py:

import datetime
import models
from google.appengine.ext import bulkload
from google.appengine.api import datastore_types
from google.appengine.ext import search

class PersonLoader(bulkload.Loader):
  def __init__(self):
# Our 'Person' entity contains a name string and an email
bulkload.Loader.__init__(self, 'Installs',
 [('status', str),
  ('scheduled_date', str),
  ('customer_name', str),
  ('contractor_name', str),
  ('phone', datastore_types.PhoneNumber),
  ('address', str),
  ('city', str),
  ('door_size_type', datastore_types.Text),
  ('door_color', str),
  ('tech_assigned', str)
  ])

  def HandleEntity(self, entity):
ent = search.SearchableEntity(entity)
return ent

if __name__ == '__main__':
  bulkload.main(PersonLoader())


When i try to run the bulk loader it fales when i get to a row that
has an empty phone number:

Loading from line 1...done.
Loading from line 2...error:
Traceback (most recent call last):
  File C:\Program Files\Google\google_appengine\google\appengine\ext
\bulkload\_
_init__.py, line 366, in LoadEntities
new_entities = loader.CreateEntity(columns, key_name=key_name)
  File C:\Program Files\Google\google_appengine\google\appengine\ext
\bulkload\_
_init__.py, line 228, in CreateEntity
entity[name] = converter(val)
  File C:\Program Files\Google\google_appengine\google\appengine\api
\datastore_
types.py, line 746, in __init__
ValidateString(phone, 'phone')
  File C:\Program Files\Google\google_appengine\google\appengine\api
\datastore_
types.py, line 100, in ValidateString
raise exception('%s must not be empty.' % name)
BadValueError: phone must not be empty.

ERROR2009-03-18 08:36:16,125 bulkload_client.py] Import failed

I am trying to give it a default value of something but obviously i am
doing something wrong..

Can someone give me a hand?  Thanks.

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



[google-appengine] Re: IDE

2009-03-18 Thread Amr Ellafi

Don't think so, you can use either PyDev for eclipse, Eric4 or Komodo

On Wed, Mar 18, 2009 at 2:03 PM, Ronn Ross ronn.r...@gmail.com wrote:
 Will google release an IDE for app engine?

 


--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
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 model in folder

2009-03-18 Thread Marzia Niccolai
Hi,

Be sure to include an __init__.py file in the DataModels folder.

-Marzia

On Wed, Mar 18, 2009 at 6:22 AM, Ronn Ross ronn.r...@gmail.com wrote:

 I have placed my data model in a separate folder. For example:
 DataModels/AccountData.py

 Now I want to import it into my main controller. I'm trying:
 from DataModels.AccountData import Accounts

 it give me this error when I try to run it:
 *type 'exceptions.ImportError'*: No module named AccountData
   args = ('No module named AccountData',)
   message = 'No module named AccountData'

 What am I doing wrong. Can someone help? thx

 


--~--~-~--~~~---~--~~
You 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 model in folder

2009-03-18 Thread Hilbert Markus
hi ronn,

to access a folder in python (using import) you must place an empty  
__init__.py file inside that DataModels folder.
this tells python that this folder as a package.

regards iham

On Mar 18, 2009, at 2:22 PM, Ronn Ross wrote:

 I have placed my data model in a separate folder. For example:
 DataModels/AccountData.py

 Now I want to import it into my main controller. I'm trying:
 from DataModels.AccountData import Accounts

 it give me this error when I try to run it:
 type 'exceptions.ImportError': No module named AccountData
   args = ('No module named AccountData',)
   message = 'No module named AccountData'

 What am I doing wrong. Can someone help? thx

 


--~--~-~--~~~---~--~~
You 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: new Open source proj -- for login, remember me, security, usability functionality -- adrian remembers

2009-03-18 Thread Luca

Is it built over the Google authentication API's or have you
reimplemented a thisapp-owned authentication system?


On 16 Mar, 15:44, Adrian Scott . com goo...@adrianscott.com wrote:
 Get your app started very quickly with this free code... for
 membership capability

 http://www.adrianremembersme.com/

 Version 0.1.1 currently offers basic login, remember me functionality
 ( + photo upload for profile )

 Attempting to follow and encode best practices for cookies, security,
 etc. Let's stop re-inventing the wheel ;)

 On the roadmap -- advanced security features (e.g. handling when
 someone's trying to hack a pwd, save yourself! from Twitter's recent
 celeb hack embarassment), usability enhancements (ooh  aah)

 Please come and Kick the Tires... and tell us what you really think!

 http://www.adrianremembersme.com/

 http://code.google.com/p/adrianremembersme/

 http://adrianremembersme.appspot.com/

 recruiting developers, soon will be posting bounties for little
 upgrades... great code for new developers to start poking around with!

 ---
 i couldn't find anything else that really provided all this in one
 bundle, according to most current best practices, etc. we can put
 together a django version of this at some point too...

--~--~-~--~~~---~--~~
You 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 Access In China

2009-03-18 Thread John C

GAE Team:

I am a developer considering using AppEngine for a new web based
business aimed at the Chinese market.  I've recently spent a lot of
time getting up to speed on Python and learning absolutely everything
about AppEngine so can I dive head first into building my app, which I
expect to take several months.  GAE seems pretty awesome and I can't
wait to get going.

However in the last  few days access in Guangzhou, China (where I
live) has been spotty, I assume because the gov't is for whatever
reason is blocking the GAE IP addresses.  Should my app become popular
I was hoping to turn it into my primary source of income.  Given the
problems recently,  it seems like I might not be able to use GAE. If
have a lot of users who depend on my site to do mission critical
business (which is what cloud computing is all about!), and then one
day I wake up to find GAE is arbitrarily blocked, that would be
disastrous.

I know Google must have relationships with high level officials in the
Chinese gov't and could use influence to make sure GAE never gets
blocked.  I've never once had problems getting on Baidu.com, so there
must be a way to make sure it won't be blocked.  I'm from America and
I know we never think about these kind of issues, but over here its a
complete reality, and now for me its turned into a business
decision.

What gaurantee do I have that GAE won't be blocked in the future?
Should I use it to build a web based business?

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] uploading google application

2009-03-18 Thread info.e...@gmail.com

I want to upload a helloworld application just for testing;
when I followed the process... as directed. After entering
username and password.
At the end of message says You do not have permission..
Please suggest what is the reason

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



[google-appengine] Re: UpLoading Problem

2009-03-18 Thread David MacQuigg

and I did modify my app.yaml file:

application: registry-xm
version: 1
runtime: python
api_version: 1

handlers:
- url: /.*
  script: registry-xm.py

--~--~-~--~~~---~--~~
You 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: UpLoading Problem

2009-03-18 Thread David MacQuigg

Oops.  I forgot to say .. I did delete the .appcfg files before
running the test.  The .appcfg_cookies file was re-created by the test.

--~--~-~--~~~---~--~~
You 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: UpLoading Problem

2009-03-18 Thread David MacQuigg

I'm having a similar problem trying to upload a new application.  I
have uploaded to another application where I am an admin, but not the
owner, and everything works nicely.  I am now trying for the first
time to create an application in my own account.  Here are the steps:

1) Wrote a simple app, following the 'helloworld' tutorial at
http://code.google.com/appengine/docs/python/gettingstarted/helloworld.html
but naming the project 'registry-xm' instead of 'helloworld'.

Everything works on the local dev_appserver.

2) Set up an appengine account at 
http://appengine.google.com/permissions/smssend.
Got the verification code on my cellphone, entered it in the
registration form, and registered the project 'registry-xm'.  No signs
of trouble, but I didn't see any confirmation email.

3) Tried to upload the project with this command:

 appcfg.py update registry-xm/

Scanning files on local disk.
Initiating update.
 - - -
HTTPError: HTTP Error 403: Forbidden
Error 403: --- begin server output ---
You do not have permission to modify this app (app_id=u'registry-xm').

4) Look at project with Dashboard

http://appengine.google.com/ signed in as macquigg at box67.com
Applications:
  py-bat
  pywhip
registry-xm is missing!!

5) Try to re-create it.
Asked again to verify account by SMS.
Cannot do that.  It says my account is already verified!!!

Help will be greatly appreciated.

-- Dave

--~--~-~--~~~---~--~~
You 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 model in folder

2009-03-18 Thread Ronn Ross
I added a blank __init__.py file in my DataModels folder and I receive this:
*type 'exceptions.TypeError'*: __init__() got an unexpected keyword
argument 'Required'
  args = (__init__() got an unexpected keyword argument 'Required',)
  message = __init__() got an unexpected keyword argument 'Required'

Do I have to add anything to the __init__.py file?

On Wed, Mar 18, 2009 at 11:54 AM, Hilbert Markus
hilbert.mar...@gmail.comwrote:

 hi ronn,

 to access a folder in python (using import) you must place an empty
 __init__.py file inside that DataModels folder. this tells python that
 this folder as a package.

 regards iham

 On Mar 18, 2009, at 2:22 PM, Ronn Ross wrote:

 I have placed my data model in a separate folder. For example:
 DataModels/AccountData.py

 Now I want to import it into my main controller. I'm trying:
 from DataModels.AccountData import Accounts

 it give me this error when I try to run it:
 *type 'exceptions.ImportError'*: No module named AccountData
   args = ('No module named AccountData',)
   message = 'No module named AccountData'

 What am I doing wrong. Can someone help? thx





 


--~--~-~--~~~---~--~~
You 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 model in folder

2009-03-18 Thread Ronn Ross
I apologize for the previous message. I figure out the issue. Although I'm
am still receiving this error:
*type 'exceptions.ImportError'*: cannot import name Accounts
  args = ('cannot import name Accounts',)
  message = 'cannot import name Accounts'

I added the __init__.py file and I'm using this line to include it:
from DataModels.AccountData import Accounts

Thanks.

On Wed, Mar 18, 2009 at 12:37 PM, Ronn Ross ronn.r...@gmail.com wrote:

 I added a blank __init__.py file in my DataModels folder and I receive
 this:
 *type 'exceptions.TypeError'*: __init__() got an unexpected keyword
 argument 'Required'
   args = (__init__() got an unexpected keyword argument 'Required',)

   message = __init__() got an unexpected keyword argument 'Required'


 Do I have to add anything to the __init__.py file?

 On Wed, Mar 18, 2009 at 11:54 AM, Hilbert Markus hilbert.mar...@gmail.com
  wrote:

 hi ronn,

 to access a folder in python (using import) you must place an empty
 __init__.py file inside that DataModels folder. this tells python that
 this folder as a package.

 regards iham

 On Mar 18, 2009, at 2:22 PM, Ronn Ross wrote:

 I have placed my data model in a separate folder. For example:
 DataModels/AccountData.py

 Now I want to import it into my main controller. I'm trying:
 from DataModels.AccountData import Accounts

 it give me this error when I try to run it:
 *type 'exceptions.ImportError'*: No module named AccountData
   args = ('No module named AccountData',)
   message = 'No module named AccountData'

 What am I doing wrong. Can someone help? thx





 



--~--~-~--~~~---~--~~
You 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 model in folder

2009-03-18 Thread Hilbert Markus
by your import statement i guess you have the following structure:

DataModels/
__init__.py
AccountData.py

inside AccountData.py is a class or even method with the name Accounts  
defined.

is that correct?

regards
iham


On Mar 18, 2009, at 5:52 PM, Ronn Ross wrote:

 I apologize for the previous message. I figure out the issue.  
 Although I'm am still receiving this error:
 type 'exceptions.ImportError': cannot import name Accounts
   args = ('cannot import name Accounts',)
   message = 'cannot import name Accounts'

 I added the __init__.py file and I'm using this line to include it:
 from DataModels.AccountData import Accounts

 Thanks.

 On Wed, Mar 18, 2009 at 12:37 PM, Ronn Ross ronn.r...@gmail.com  
 wrote:
 I added a blank __init__.py file in my DataModels folder and I  
 receive this:
 type 'exceptions.TypeError': __init__() got an unexpected keyword  
 argument 'Required'
   args = (__init__() got an unexpected keyword argument  
 'Required',)
   message = __init__() got an unexpected keyword argument  
 'Required'

 Do I have to add anything to the __init__.py file?

 On Wed, Mar 18, 2009 at 11:54 AM, Hilbert Markus hilbert.mar...@gmail.com 
  wrote:
 hi ronn,

 to access a folder in python (using import) you must place an empty  
 __init__.py file inside that DataModels folder.
 this tells python that this folder as a package.

 regards iham

 On Mar 18, 2009, at 2:22 PM, Ronn Ross wrote:

 I have placed my data model in a separate folder. For example:
 DataModels/AccountData.py

 Now I want to import it into my main controller. I'm trying:
 from DataModels.AccountData import Accounts

 it give me this error when I try to run it:
 type 'exceptions.ImportError': No module named AccountData
   args = ('No module named AccountData',)
   message = 'No module named AccountData'

 What am I doing wrong. Can someone help? thx









 


--~--~-~--~~~---~--~~
You 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: IDE

2009-03-18 Thread Kerio

On 18 Mar, 13:03, Ronn Ross ronn.r...@gmail.com wrote:
 Will google release an IDE for app engine?

What for?
A multi-language editor with multiple syntax highlighting should be
enough.
Maybe emacs/vi or kate/komodo on Linux and Smultron, TextMate or maybe
even XCode on Os X

Not sure about Windows, though
--~--~-~--~~~---~--~~
You 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 Patch - dumpdata then loaddata

2009-03-18 Thread Big Stu

I'm having a problem with my App Engine Patch project where if I
dumpdata from my app engine server using:
./manage.py dumpdata --format json  data.json

Then reset the servers data:
./manage.py reset

And then try to reload that data:
./manage.py loaddata data.json

I get complaints about Date properties not being datetime objects.
I've read about some similar sounding issues with the deserializer
used by Django, but these are from last summer or before, and they
appear to have solutions.

Any idea what I'm doing wrong?

Incidentially, I have to remove the first line Running on app-engine-
patch 1.0  from data.json.
--~--~-~--~~~---~--~~
You 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] Transcript: App Engine chat time March 18

2009-03-18 Thread Jeff S

[09:06] scudder_google Hey everyone, we're ready to start another
hour long chat session.
[09:08] scudder_google We have some Googlers here, myself,
jason_google, jcgregorio_google, dan_google, nickjohnson, and some
others may jump on a bit later
[09:09] Wooble ok, I knew this channel was dead when these chats
weren't going on...
[09:09] scudder_google ribrdb is here from Googler too :)
[09:10] dan_google Anyone want to plug their App Engine site?
[09:10] dan_google And by plug I mean promote.  :)
[09:10] knoonan Hi guys, apart from housekeeping on the datastore,
do you anticipate that remote_api will be used to enable desktop
applications which use BigTable as a datastore?
[09:11] dan_google knoonan: That's a fine idea, I don't see why not.
[09:12] HighBit hey guys. just saw jcg mention the chat on twitter.
so what's new w/ app engine? :)
[09:12] bFlood @dan_google - but they would need your admin logon
for remote_api right?
[09:12] scudder_google knoonan and bFlood: actually I don't think
admin login is required
[09:12] dan_google bFlood: Yeah, to use remote_api directly you
would.  Or another admin account.
[09:13] dan_google bFlood: You can always set up the remote_api
handler to not have admin protection.  Not sure if that's a good idea.
[09:13] dan_google In general, it's probably better to build just
the web service end points the desktop application needs.
[09:13] Wooble maybe hack the handler to do its own authentication?
[09:14] Wooble whether that's significantly better than using a
RESTful interface I have no idea...
[09:15] bFlood Wooble - yea, I kinda came to the same conclusion.
just use a RESTful endpoint instead, easier to work with
[09:15] bFlood but at first I thought remote_api would be great for
desktop to connect in
[09:16] Wooble well, it would allow you more flexibility in what
your desktop app would be able to do without deploying a new version
of the server side app, definitely.
[09:16] scudder_google knoonan and bFlood: I was wrong :) the remote
API handler checks for an admin even if login:admin is not specified
in app.yaml
[09:16] dan_google bFlood: If your end points would essentially
expose the same functionality, I don't see a problem.  But for most
apps I can imagine, you'd want custom partitioning of the datastore on
a per-user basis, enforced by the endpoints and some auth.
[09:17] dan_google But Google Accounts might be sufficient auth.
[09:17] dan_google (I retract my statement about admin-less
remote_api as well, then. :) )
[09:18] bFlood dan_google - google accounts auth seemed to work best
for our scenario
[09:18] bFlood maybe offtopic but do the callbacks for the future
async urlfetch/datastore run on independent threads?
[09:19] dan_google I'm not aware of any plans to do async urlfetch/
datastore.  Where is that from?
[09:19] bFlood pubsubhub codebase
[09:20] bFlood this forum post has more info: http://tinyurl.com/d3uton
[09:21] HighBit I noticed jaiku uses jabber (via gtalk) -- I haven't
looked at the code, has anyone looked at that?
[09:21] HighBit I'm curious how they integrated jabber with app
engine
[09:21] dan_google My understanding is that pubsubhub is using all
public features, and I'm not aware of any async urlfetch/datastore.
Can you point to a spot in there that looks like it's doing async?
[09:21] bFlood async_apiproxy.py
[09:23] bFlood it does seem to work for urlfetch (see the
MegaFetcher example from the post above) and it also seems to work for
datastore
[09:23] scudder_google HighBit: We are planning to make an XMPP API
available publicly at some point in the next several months
[09:23] scudder_google HighBit: as noted on our roadmap
[09:23] HighBit ah.
[09:24] bFlood but I cant tell if the callbacks are run on real
background threads (or just the datastore fetch)
[09:25] scudder_google HighBit: I'm not sure about Jaiku's
implementation though, but you can check out the source code
http://code.google.com/p/jaikuengine
[09:26] dan_google bFlood: I'll have to look into it and get back to
you.
[09:26] knoonan I'll plug a friend's app: LongURLPlease by Darragh
Curran. For all of those tiny URLs we encounter--it automatically
expands them so you know where a click will take you...
[09:26] HighBit scudder_google: yea, I wanted to, haven't gotten
aronud to looking at their code yet. I think it's pretty nifty that it
was open sourced though.
[09:27] HighBit I hope they have at least some testing in there; I
want to see some app engine tests in action
[09:27] bFlood dan_google -  ok, thanks. it would be a nice
addition. I would be using the same CPU per request, just in parallel
instead of serially (I guess you could argue either way as to which is
better for GAE's scalability)
[09:28] MBoffin knoonan, I turn on TinyURL's preview feature. That
way TinyURL won't auto-redirect me. First it shows me where it will
take me. But LongURLPlease sounds cool because not all of those URL
services give you a preview mode.
[09:28] knoonan It's available as a 

[google-appengine] Re: App Engine Patch - dumpdata then loaddata

2009-03-18 Thread Big Stu

If I try using a different serializer (yaml) I get this complaint:

Error: Unable to serialize database: cannot represent an object:
s...@localhost

So json doesn't like date formats, and yaml doesn't like the email
address field.

Anyone know whats up here?

THanks

Stu
--~--~-~--~~~---~--~~
You 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: uploading google application

2009-03-18 Thread Wooble

You need to create an application in the web interface, and use the
same application ID in your app.yaml.

On Mar 18, 8:34 am, info.e...@gmail.com info.e...@gmail.com wrote:
 I want to upload a helloworld application just for testing;
 when I followed the process... as directed. After entering
 username and password.
 At the end of message says You do not have permission..
 Please suggest what is the reason
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
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 Storage Size - multiplier per object

2009-03-18 Thread Ben Nevile

Hi Marzia,

Just want to add my voice to the chorus of people looking for a little
more transparency in terms of data storage and entities.  In my ideal
fantasy world I'd be able to see a pie chart that would break down the
percentage of storage that each of my entities was using as a fraction
of the total storage used.  Clicking on an entity's slice in the pie
would bring up another pie chart that would show the fraction of
storage used by that entity's primary store and each of its indices.
(This second chart may not be necessary once you guys have published
some more info on exactly how different properties and indices
manifest themselves on disk.)

Thanks in advance,
Ben



On Mar 13, 9:57 am, Marzia Niccolai ma...@google.com wrote:
 Hi,

 There is no 'multiplier' per se on datastore storage.  The issue is that we
 account for both the size of the data stored and the space taken by the
 indices for this data.  As such, the amount of storage you use depends
 specifically on the types of indexes your application has.

 We are working on getting better documentation together that will give you a
 good idea on how you can account for the amount of storage an entity will
 take.

 Please note that the FAQ on this subject currently is _not_ correct and we
 will be updating it.

 -Marzia

 On Tue, Mar 10, 2009 at 9:28 AM, Jonathan Ultis 
 jonathan.ul...@gmail.comwrote:





  I created a model with fixed content that requires ~250b serialized,
  including all field names, the key, and the kind name, and parent
  (None). I added 312000 of those to the datastore, for 75 megs of raw
  data. There are 8 indexable fields, The indices should require no more
  than 176 megs of additional space, if the indices don't do any sort of
  column compression. That's 250 megs of raw space.

  But, the data store reports 1GB of space used.

  That suggests perhaps 2x redundancy, plus a 50% fill rate in big
  table. Or, maybe just 4x redundancy. No idea.

  Anyhow, for now, take your raw object size including kind, key, field
  names, and field content, and multiply by 10x-15x, depending on how
  many indexable properties you have, to get your final storage size.
--~--~-~--~~~---~--~~
You 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] Embedded graphics and other content in e-mail. (the cid: thing in e-mails) rfc2387

2009-03-18 Thread oxygen

It would be nice if google app engine would add another param next to
the attachaments one, containing multipart/related attachments
(hidden attachements for use in content, for example embedding
graphics within the e-mail to avoid having the e-mail client connect
to the internet/some website to retrieve e-mail graphics)

http://www.ietf.org/rfc/rfc2387.txt

--~--~-~--~~~---~--~~
You 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] Datastore Management

2009-03-18 Thread codingJoe

GAE Beginner here.   What is the easiest way to manage the
datastore.

 I want to purge some of the datastore contents then load some test
data.   I would like a command line type interface.

I tried the app engine console, but it causes a compiler error and
won't run.
http://www.proven-corporation.com/software/app-engine-console/

Advice??
--~--~-~--~~~---~--~~
You 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: Is there a way to get the Clients screen size with Appengine?

2009-03-18 Thread jago

Excuse my ignorance...but how do I get the values for width and height
into Python/Appengine?

On Mar 18, 5:46 am, iceanfire iceanf...@gmail.com wrote:
  var myWidth = 0, myHeight = 0;
   if( typeof( window.innerWidth ) == 'number' ) {
     //Non-IE
     myWidth = window.innerWidth;
     myHeight = window.innerHeight;
   } else if( document.documentElement 
 ( document.documentElement.clientWidth ||
 document.documentElement.clientHeight ) ) {
     //IE 6+ in 'standards compliant mode'
     myWidth = document.documentElement.clientWidth;
     myHeight = document.documentElement.clientHeight;
   } else if( document.body  ( document.body.clientWidth ||
 document.body.clientHeight ) ) {
     //IE 4 compatible
     myWidth = document.body.clientWidth;
     myHeight = document.body.clientHeight;
   }

 On Mar 17, 6:53 pm, jago java.j...@gmail.com wrote:

  I am a total Javascript agnostic. I guess you do not have some example
  Python/Javascript code?
--~--~-~--~~~---~--~~
You 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: Is there a way to get the Clients screen size with Appengine?

2009-03-18 Thread jago

I did find something, but most was very old, as old as 2001. My
problem is not to find something but not being sure if it works in 99%
of the browsers. That's why I prefer the advice of somebody who dealt
with that sort of thing for years.

On Mar 18, 1:57 am, Andrew Badera and...@badera.us wrote:
 www.google.combuddy.

 this is old school easy stuff. don't be lazy.

 On Tue, Mar 17, 2009 at 8:53 PM, jago java.j...@gmail.com wrote:

  I am a total Javascript agnostic. I guess you do not have some example
  Python/Javascript code?
--~--~-~--~~~---~--~~
You 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] from google.appengine.ext

2009-03-18 Thread Lord Gustavo Miguel Angel
Hi,

I need information about google.appendine.ext, 
some link?

Thank´s

Gustavo.
Argentina.
--~--~-~--~~~---~--~~
You 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: What can I use memcache for?

2009-03-18 Thread Tim Hoffman

Having a read of the docs would be a good idea, as all this is
documented,

but you must serialise the data

T

On Mar 19, 4:19 am, Khai khaitd...@gmail.com wrote:
 Can I use memcache to a python array?  Do I need to serialize the data
 before putting it into the cache?  Can I use memcache to cache a model
 instance?

 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] Please copy the logging functionality of the Administration Console to the Development Console

2009-03-18 Thread Khai

According to http://code.google.com/appengine/articles/logging.html,
live apps can log information and have it displayed in the
Administration Console.  Is it possible to copy this functionality to
the Development Console?

I am aware that I can append ?debug to my URL, however, my application
does a JSON request, and dev_appserver.py destroy my JSON object by
appending:

!-- Copyright 2007 Google Inc. All Rights Reserved --

!--
The below HTML code was generated and appended by Google. It's
purpose is
to display a logging console in the browser. It's appearing here
because
either:

  (a) the CGI parameter debug was in the URL
  (b) the cookie _ah_severity was present in the HTTP request

To stop this from being appended, you should remove the CGI
parameter
debug from the request URL and then either click the Close
link on the
logging console, or delete the _ah_severity cookie.

All element ids used by the code for this logging console are
prefixed
with _ah, all cookies used are prefixed with _ah, and all
classes and
functions are in the namespace AH.
 --

div id=_ah_base
 style=z-index: 9; position: absolute; right: 10px;
background-color: white; color: black; width: 600px;
border: 1px solid black; padding: 10px; font-family:
courier;
font-size: medium; margin: 10px;

  tabletrtd
table cellspacing=0 cellpadding=0 rules=all border=frame
  tr
td style=background-color: white; cursor: pointer; height:
15px;
   width: 15px;
id=_ah_up_left
onClick=(new AH.LoggingConsole).moveBaseDiv('up_left')/
td
td style=background-color: white; cursor: pointer; height:
15px;
   width: 15px;
id=_ah_up_right
onClick=(new AH.LoggingConsole).moveBaseDiv
('up_right')/td
  /tr
  tr
td style=background-color: white; cursor: pointer; height:
15px;
   width: 15px;
id=_ah_down_left
onClick=(new AH.LoggingConsole).moveBaseDiv
('down_left')/td
td style=background-color: white; cursor: pointer; height:
15px;
   width: 15px;
id=_ah_down_right
onClick=(new AH.LoggingConsole).moveBaseDiv
('down_right')/td
  /tr
/table
/tdtd valign=top
  nbsp;nbsp;nbsp;nbsp;nbsp;
  a id=_ah_show_debug
 href=javascript:(new AH.LoggingConsole).changeLogSeverity
('debug')
 DEBUG/a
  a id=_ah_show_info
 href=javascript:(new AH.LoggingConsole).changeLogSeverity
('info')
 INFO/a
  a id=_ah_show_warning
 href=javascript:(new AH.LoggingConsole).changeLogSeverity
('warning')
 WARNING/a
  a id=_ah_show_error
 href=javascript:(new AH.LoggingConsole).changeLogSeverity
('error')
 ERROR/a
  a id=_ah_show_critical
 href=javascript:(new AH.LoggingConsole).changeLogSeverity
('critical')
 CRITICAL/a
  nbsp;nbsp;nbsp;nbsp;nbsp;
  a id=_ah_close
 href=javascript:(new AH.LoggingConsole).closeEverything
()Close/a
  /td/tr/table

  div id=_ah_loglines style=margin: 10px; height: 300px; overflow:
auto;
  /div
/div

script
// Copyright 2007 Google Inc.
// All Rights Reserved.

// Licensed under the Apache License, Version 2.0 (the License);
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an AS IS BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied.
// See the License for the specific language governing permissions and
// limitations under the License.

/**
 * @fileoverview Defines the code for the application logging console.
 */

/**
 * The namespace we're using for all javascript classes and functions
related
 * to the logging console.
 */
var AH = {};


/**
 * A collection of utility functions for reading and writing cookies.
 * @constructor
 */
AH.CookieUtil = function() {};


/**
 * Creates and adds a cookie with the specified expiration.
 * @param {String} name  The name of the desired cookie.
 * @param {String} value  The value of the desired cookie.
 * @param {Number} opt_days  If non-negative, the expiration time in
days of the
 * desired cookie. If not provided, the default value is 1.
 */
AH.CookieUtil.prototype.setCookie = function(name, value, opt_days) {
  if (opt_days == null) {
opt_days = 1;
  }

  var expires = '';
  if (opt_days  0) {
var date = new Date;
date.setTime(date.getTime() + (opt_days * 24 * 60 * 60 * 1000));
expires = '; expires=' + date.toGMTString();
  }
  document.cookie = name + '=' + value + expires + '; path=/';
};


/**
 * Returns the value of the requested cookie if it is available, and
otherwise
 * returns a default value.
 * @param 

[google-appengine] application configuration file not found

2009-03-18 Thread joshua

hi i made a test app just to play with it and when i try to run the
webserver cmd tells me ERROR:root:application configuration file not
found in my selected directory

i am running windows XP (pro)
with the newest python

please if you have an answer post it here or send me an email at
jos...@circusjoshua.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: GAE Access In China

2009-03-18 Thread John C

  I know Google must have relationships with high level officials in the
  Chinese gov't and could use influence to make sure GAE never gets
  blocked.

 Why do you think that is true?

I've been in China for almost 2 years now, and while I am no expert on
the country, I have a good idea of how things work here.  The reason
I'm pretty sure Google has high level contacts in the Chinese gov't is
because I'm pretty sure EVERY major multi-national operating in China
has a relationship with the gov't.  Foreigners can't just show up over
here and set up shop.  There is a mind numbing bureacracy that
controls everything and the way to make things happen isn't
necessarily through direct bribery, but through personal relationships
with local officials.  Expensive dinners and nights singing kareoke
are what makes world work.  There is no doubt Google as well as every
other company making big bets on China frequently interact Chinese
officials.  I'm sure this is especially true in the realm of the GFW
(Great Firewall), where Google must agree to play by the local rules
or get shut off altogether.  Even the contents of this post, if were
in Chinese, would be grounds for blocking. The only problem is that
the people deciding what gets blocked have absolutely no concern for a
group of coders working on their own personal projects.  As crazy as
it may seem, the best way for those of in China to be able to develop
for GAE without getting blocked is most likely someone from Google
going out for a night of drinking and kareoke with someone that
controls what gets blocked.

 I've never once had problems getting on Baidu.com, so there
must be a way to make sure it won't be blocked.

 Baidu.com is a Chinese company, headquartered in China.  Why would you
 think that Baidu's relationship with the Chinese government has
 anything to do with Google's relationship?

Because Baidu and Google are the #1 and #2 (in that order) most
popular search engines in China.  They both have a relationship with
the gov't, and it seems that Baidu's is stronger because they never
get blocked.  Now, I also know that the gov't will usually support
local companies against foreign compitition.  Also, since Baidu is
Chinese they are most likely more self policiing when it come to
objectionable content, and  they certainly don't have any kind don't
be evil clauses in their mission statement.  For these reasons Baidu
has a natural advantage in not getting blocked.  But seeing that
Google is a major player in Chinese internet search business, it seems
like they would be doing more to make sure their site, including GAE,
is 100% usable, all the time, no questions asked.  If it doesn't have
that, then I can't base a business aimed at the Chinese on GAE, which
I find incredibly dissappointing, because so far GAE looks really
cool.

On Mar 19, 7:59 am, Andy Freeman ana...@earthlink.net wrote:




 On Mar 18, 4:26 am, John C johnmcourt...@gmail.com wrote:

  GAE Team:

  I am a developer considering using AppEngine for a new web based
  business aimed at the Chinese market.  I've recently spent a lot of
  time getting up to speed on Python and learning absolutely everything
  about AppEngine so can I dive head first into building my app, which I
  expect to take several months.  GAE seems pretty awesome and I can't
  wait to get going.

  However in the last  few days access in Guangzhou, China (where I
  live) has been spotty, I assume because the gov't is for whatever
  reason is blocking the GAE IP addresses.  Should my app become popular
  I was hoping to turn it into my primary source of income.  Given the
  problems recently,  it seems like I might not be able to use GAE. If
  have a lot of users who depend on my site to do mission critical
  business (which is what cloud computing is all about!), and then one
  day I wake up to find GAE is arbitrarily blocked, that would be
  disastrous.

  I know Google must have relationships with high level officials in the
  Chinese gov't and could use influence to make sure GAE never gets
  blocked.  I've never once had problems getting on Baidu.com, so there
  must be a way to make sure it won't be blocked.  I'm from America and
  I know we never think about these kind of issues, but over here its a
  complete reality, and now for me its turned into a business
  decision.

  What gaurantee do I have that GAE won't be blocked in the future?
  Should I use it to build a web based business?

  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] basic login functionality; jump-start your next app quickly; 'adrian remembers me' upgrade 0.1.4 released

2009-03-18 Thread Adrian Scott . com


having fun in a variety of areas:

 - email validation, the rabbit hole gets deeper; put some initial
validation in place, want to revisit later/soon for a better/more
complete solution(s)

 - i think the 'remember me' cookie design is reasonably elegant,
though could be worth sprucing up a little; check out how we
implemented (2 good links to other writings on the topic on the code
homepage below)


looking forward to getting to:

 - the issue of funny unicode characters in usernames --- cookie
interactions. whee!



inching forward here steadily, several features put into place with
new 0.1.4 version:

checks for valid email address,
minimum password length,
username not already used,
email not already used,
logs in new member when they create membership,
...

the code is coming together nicely.

use this code to jumpstart your next app (or tell me why it wouldn't
be of use to you ;)


check it out and let me know what your biggest needs are!

  http://www.adrianremembersme.com/


thanks,
adrian
--~--~-~--~~~---~--~~
You 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: from google.appengine.ext

2009-03-18 Thread Ian Lewis
Gustavo,

google.appengine.ext contains a number of things not the least of which is
the datastore api. You will probably have the most success searching the
group archives.

Ian

On Thu, Mar 19, 2009 at 8:18 AM, Lord Gustavo Miguel Angel 
goosfanc...@gmail.com wrote:

  Hi,

 I need information about google.appendine.ext,
 some link?

 Thank´s

 Gustavo.
 Argentina.

 



-- 
===
株式会社ビープラウド  イアン・ルイス
〒150-0012
東京都渋谷区広尾1-11-2アイオス広尾ビル604
email: ianmle...@beproud.jp
TEL:03-5795-2707
FAX:03-5795-2708
http://www.beproud.jp/
===

--~--~-~--~~~---~--~~
You 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: This application ID or version is already in use. Why?

2009-03-18 Thread Hu Hailin

why not use the domain (dituren.cn/dituren.com) accessing your app
directly?

On Mar 18, 2:48 pm, K_Reverter kunhua...@gmail.com wrote:
 I hope to use dituren.appspot.com as my app id very much.Because I
 already registered dituren-mapplet.appspot.com,dituren-
 service.appspot.com and dituren-www.appspot.com.

 Also I'm the owner of domain dituren.cn and dituren.com.

 I tried send mail to ditu...@gmail.com and d1tu...@gmail.com and
 the Gmail server return a error.

 So I think I can use this appid,

 Can you tell me why dituren was reserved?

 On Mar 11, 12:13 am, Marzia Niccolai ma...@google.com wrote:



  Hi,

  Yes, it has already been reserved.

  -Marzia

  On Tue, Mar 10, 2009 at 6:04 AM, K_Reverter kunhua...@gmail.com wrote:

   But I don't think anyone already reserved d1turen or dituren as
   Gmail username or Appspot Id.

   Can anyone tell me why dituren is reserved?

   On 3月10日, 上午2时43分, Marzia Niccolai ma...@google.com wrote:
Hi,

This is a known issue with the 'Check availability' functionality.  
Gmail
and App Engine share the same namespace, but in Gmail when you reserve 
eg
d1turen, dituren is also reserved. The Check availability function does
   not
correctly check for this case.

So if you get the message 'This application ID or version is already in
   use'
you will not be able to reserve the id.

-Marzia

On Mon, Mar 9, 2009 at 6:11 AM, K_Reverter kunhua...@gmail.com wrote:

 When I create create an application as dituren.appspot.com

 I got a 400 error This application ID or version is already in use.

 But when I click the Check availability ,
  I got a message Yes, dituren is available!

 Why? Please help me!- 隐藏被引用文字 -

- 显示引用的文字 -- Hide quoted text -

 - Show quoted text -
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
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 Access In China

2009-03-18 Thread Andy Freeman

I've been in China for almost 2 years now, and while I am no expert on
the country, I have a good idea of how things work here.  The reason
I'm pretty sure Google has high level contacts in the Chinese gov't is
because I'm pretty sure EVERY major multi-national operating in China
has a relationship with the gov't.

Having a relationship with the Chinese govt does not imply that one
can always get what one wants from the Chinese govt.

On Mar 18, 6:05 pm, John C johnmcourt...@gmail.com wrote:
   I know Google must have relationships with high level officials in the
   Chinese gov't and could use influence to make sure GAE never gets
   blocked.

  Why do you think that is true?

 I've been in China for almost 2 years now, and while I am no expert on
 the country, I have a good idea of how things work here.  The reason
 I'm pretty sure Google has high level contacts in the Chinese gov't is
 because I'm pretty sure EVERY major multi-national operating in China
 has a relationship with the gov't.  Foreigners can't just show up over
 here and set up shop.  There is a mind numbing bureacracy that
 controls everything and the way to make things happen isn't
 necessarily through direct bribery, but through personal relationships
 with local officials.  Expensive dinners and nights singing kareoke
 are what makes world work.  There is no doubt Google as well as every
 other company making big bets on China frequently interact Chinese
 officials.  I'm sure this is especially true in the realm of the GFW
 (Great Firewall), where Google must agree to play by the local rules
 or get shut off altogether.  Even the contents of this post, if were
 in Chinese, would be grounds for blocking. The only problem is that
 the people deciding what gets blocked have absolutely no concern for a
 group of coders working on their own personal projects.  As crazy as
 it may seem, the best way for those of in China to be able to develop
 for GAE without getting blocked is most likely someone from Google
 going out for a night of drinking and kareoke with someone that
 controls what gets blocked.

  I've never once had problems getting on Baidu.com, so there

 must be a way to make sure it won't be blocked.



  Baidu.com is a Chinese company, headquartered in China.  Why would you
  think that Baidu's relationship with the Chinese government has
  anything to do with Google's relationship?

 Because Baidu and Google are the #1 and #2 (in that order) most
 popular search engines in China.  They both have a relationship with
 the gov't, and it seems that Baidu's is stronger because they never
 get blocked.  Now, I also know that the gov't will usually support
 local companies against foreign compitition.  Also, since Baidu is
 Chinese they are most likely more self policiing when it come to
 objectionable content, and  they certainly don't have any kind don't
 be evil clauses in their mission statement.  For these reasons Baidu
 has a natural advantage in not getting blocked.  But seeing that
 Google is a major player in Chinese internet search business, it seems
 like they would be doing more to make sure their site, including GAE,
 is 100% usable, all the time, no questions asked.  If it doesn't have
 that, then I can't base a business aimed at the Chinese on GAE, which
 I find incredibly dissappointing, because so far GAE looks really
 cool.

 On Mar 19, 7:59 am, Andy Freeman ana...@earthlink.net wrote:





  On Mar 18, 4:26 am, John C johnmcourt...@gmail.com wrote:

   GAE Team:

   I am a developer considering using AppEngine for a new web based
   business aimed at the Chinese market.  I've recently spent a lot of
   time getting up to speed on Python and learning absolutely everything
   about AppEngine so can I dive head first into building my app, which I
   expect to take several months.  GAE seems pretty awesome and I can't
   wait to get going.

   However in the last  few days access in Guangzhou, China (where I
   live) has been spotty, I assume because the gov't is for whatever
   reason is blocking the GAE IP addresses.  Should my app become popular
   I was hoping to turn it into my primary source of income.  Given the
   problems recently,  it seems like I might not be able to use GAE. If
   have a lot of users who depend on my site to do mission critical
   business (which is what cloud computing is all about!), and then one
   day I wake up to find GAE is arbitrarily blocked, that would be
   disastrous.

   I know Google must have relationships with high level officials in the
   Chinese gov't and could use influence to make sure GAE never gets
   blocked.  I've never once had problems getting on Baidu.com, so there
   must be a way to make sure it won't be blocked.  I'm from America and
   I know we never think about these kind of issues, but over here its a
   complete reality, and now for me its turned into a business
   decision.

   What gaurantee do I have that GAE won't be blocked in the future?
   Should I 

[google-appengine] Re: UpLoading Problem

2009-03-18 Thread David MacQuigg

I've found the problem, or at least narrowed it down.  I verified my
account a second time, using a friend's cellphone, set up a new app
'xm-registry', and now everything seems to work.  Seems like the
previous Verify Account got stuck, and was not allowing me to access
the app 'registry-xm' or start over.  Seems like creating an new app
should be an all-or-nothing transaction.  I'll start another thread
on this when I get some time.

-- Dave
--~--~-~--~~~---~--~~
You 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] Please critique

2009-03-18 Thread Khai

I have this code:

peoples = memcache.get(first)
if people is not None:
peoples = pickle.loads(peoples)
else:
peoples = People.gql(WHERE first = :first, first = first)
memcache.set(first,peoples)
peoples = memcache.get(first)
peoples = pickle.loads(peoples)
for p in peoples:
key_as_str = str(p.key())

which seems to work.  Has anyone done anything like this?  Can you
comment on why it works (I am very novice when it comes to Python)?
Is there anything I need to watch out for when doing something like
this?  Is this even advisable / proper?

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



[google-appengine] Re: Can I query to find out the children entities of a Parent entity?

2009-03-18 Thread iceanfire

anyone?

On Mar 16, 1:09 pm, iceanfire iceanf...@gmail.com wrote:
 Also, now when I ran the following code in the console:
 

 from google.appengine.ext import db

 key_of_specific_Thumb_entity = agdhcHRydXNochALEgpJbWFnZVRodW1iGEUM
 ==key grabbed from datastore for thumbnail (which is a parent of the
 Bin/Large Image)

 db.get(db.Key(key_of_specific_Thumb_entity))

 I get this error:
 

 Traceback (most recent call last):
   File C:\Program Files\Google\google_appengine\google\appengine\ext
 \admin\__init__.py, line 194, in post
     exec(compiled_code, globals())
   File string, line 5, in module
   File C:\Program Files\Google\google_appengine\google\appengine\ext
 \db\__init__.py, line 1053, in get
     cls1 = class_for_kind(entity.kind())
   File C:\Program Files\Google\google_appengine\google\appengine\ext
 \db\__init__.py, line 217, in class_for_kind
     raise KindError('No implementation for kind \'%s\'' % kind)
 KindError: No implementation for kind 'ImageThumb'

 I'm guessing it has something to do with it being a parent or
 something!?

 On Mar 16, 1:03 pm, iceanfire iceanf...@gmail.com wrote:



  Hi,

  I'm having a bit of trouble understanding how to use parents/children
  properties within transactions.

  I have divided up my Thumbnails and the actual Large Image into
  two separate models to save processing power, but when I upload, I
  want to make sure that both entities are updated--therefore I have to
  use transactions.

  Short version (incase the answer is something simple):
  ==
  Can I query to find out the children entities of a Parent entity?

  Long Version:
  ===
  Key fact - thumbnails is connected to the Large Image (bin) via the
  column bin_id

  The code in Exhibit 1 doesn't work because I get the 'error
  ImageThumb must have a complete key before it can be used as a
  parent'. So I tried to:
  1.  .put() ImageThumb
  2. assign it as a parent
  3. .put() Bin (the large image)
  4. get the ID from step 3
  5. insert the id in the ImageThumb and .put() it again.

  I got the error:  you can't put an entity more than once in appengine!

  So my last resort was to just get rid of binID and do steps 1-3. This
  works! But now i'm stuck as to getting the Large Image (child) for a
  specific thumbnail(parent).

  Code Exhibit 1
  ==
  def uploadImages(self):
                          thumb_db = ImageThumb()
                          thumb = images.resize(image_data,
  150,150,images.JPEG)
                          thumb_db.thumb = db.Blob(thumb)

                          bin_db = ImageBin(parent=thumb_db)
                          bin_db.image = image_data
                          bin_put=bin_db.put()
                          bin_id = bin_put.id()

                          thumb_db.binId = bin_id === need binId so
  that thumbnail is linked to actual image (so I can use get by id
  class)

                          thumb_db.type= Picture
                          thumb_put = thumb_db.put()
                          thumb_id = thumb_put.id()
--~--~-~--~~~---~--~~
You 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: Redirect loop when accessing my site

2009-03-18 Thread Min Li

I figured it out. There was some bad data which cause the issue. Thank
you, Marzia.

Min

On Mar 16, 2:07 pm, Min Li lim...@gmail.com wrote:
 It seems not related to codes. Please have a visit to the 
 website:http://www.childcenter.ca. Sometimes it works, sometimes the error
 happens. I checked this morning, it worked. But it's not working now.
 It sounds like the very unstable domain name service.

 Thanks for your time.
 Min

 On Mar 16, 1:48 pm, Marzia Niccolai ma...@google.com wrote:

  Hi,

  Could you post any code that might help diagnose the error, as well as the
  URL where it is occurring?

  -Marzia

  On Sun, Mar 15, 2009 at 10:57 PM, Min Li lim...@gmail.com wrote:

   Hi,

   My web site experience the 'redirect loop ' error. It worked well
   before. Any idea?

   Thanks,


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



[google-appengine] Re: GAE Access In China

2009-03-18 Thread John C

Having a relationship with the Chinese govt does not imply that one
can always get what one wants from the Chinese govt.

Absolutely true.  But what I'm suggesting is that they leverage their
relationships on behalf of the GAE developer community in China to try
and help us out.  A lot of times in China its the only and best way to
grease the wheels. I've looked through the threads and this isn't the
first time this issue has come up.

Again, my real question for Google is:
Is GAE ready to support mission critical applications in China?  Or
for that matter anywhere?  I need an uptime gaurantee.

As much as I love Google, if Baidu offered a comparable cloud
computing service, I'd probably use it instead, simply because I've
never once had an issue accessing Baidu.com.  Why does Google have
blocking issues and Baidu doesn't?

I know a lot of the blocking issues for Google are related to
objectionable content that appears on Blogspot.  It seems there are a
few possible solutions: 1) Make sure that dynamic DNS never mixes IPs
between Blogspot and GAE. 2)  Be more self policing and make sure
objectionable content is never allowed to appear to Chinese users.
There's no bigger advocate for free speech than me, but here you play
by the rules or don't play at all, and its pretty much that simple.
So the solution might be techincal, and it might be political, but
whatever it is there needs to be one.

I'm sure Google has experts on all of these issues and I'd love to
hear their opinions!
--~--~-~--~~~---~--~~
You 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 and google apps

2009-03-18 Thread gops

anybody can easily add our application to their google apps services.

and may eat all our resources.

How do we prevent that ?
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
Google App Engine group.
To post to this group, send email to google-appengine@googlegroups.com
To unsubscribe from this group, send email to 
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 Access In China

2009-03-18 Thread Andy Freeman

 But what I'm suggesting is that they leverage their
 relationships on behalf of the GAE developer community in China to try
 and help us out.

How do you know that they're not?

 Again, my real question for Google is:
 Is GAE ready to support mission critical applications in China?  Or
 for that matter anywhere?  I need an uptime gaurantee.

And I need a pony.

 Why does Google have blocking issues and Baidu doesn't?

I note that Google has interests other than China while Baidu doesn't.

Why aren't you dealing with the blockers?

 I know a lot of the blocking issues for Google are related to
 objectionable content that appears on Blogspot.  It seems there are a
 few possible solutions: 1) Make sure that dynamic DNS never mixes IPs
 between Blogspot and GAE. 2)  Be more self policing and make sure
 objectionable content is never allowed to appear to Chinese users.

The blockers know that blogspot is owned by Google.  They can easily
decide to block other google services as punishment for Google not
shutting down blogspot.  They can easily decide that google should be
punished for allowing objectionable content to be shown to anyone.

 I'm sure Google has experts on all of these issues and I'd love to
 hear their opinions!

Let me suggest that this is a Chinese problem that Chinese will have
to solve.



On Mar 18, 8:55 pm, John C johnmcourt...@gmail.com wrote:
 Having a relationship with the Chinese govt does not imply that one
 can always get what one wants from the Chinese govt.

 Absolutely true.  But what I'm suggesting is that they leverage their
 relationships on behalf of the GAE developer community in China to try
 and help us out.  A lot of times in China its the only and best way to
 grease the wheels. I've looked through the threads and this isn't the
 first time this issue has come up.

 Again, my real question for Google is:
 Is GAE ready to support mission critical applications in China?  Or
 for that matter anywhere?  I need an uptime gaurantee.

 As much as I love Google, if Baidu offered a comparable cloud
 computing service, I'd probably use it instead, simply because I've
 never once had an issue accessing Baidu.com.  Why does Google have
 blocking issues and Baidu doesn't?

 I know a lot of the blocking issues for Google are related to
 objectionable content that appears on Blogspot.  It seems there are a
 few possible solutions: 1) Make sure that dynamic DNS never mixes IPs
 between Blogspot and GAE. 2)  Be more self policing and make sure
 objectionable content is never allowed to appear to Chinese users.
 There's no bigger advocate for free speech than me, but here you play
 by the rules or don't play at all, and its pretty much that simple.
 So the solution might be techincal, and it might be political, but
 whatever it is there needs to be one.

 I'm sure Google has experts on all of these issues and I'd love to
 hear their opinions!
--~--~-~--~~~---~--~~
You 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
-~--~~~~--~~--~--~---