You are right importing 'google' is insufficient for detection, but detecting GAE side effects is only slightly better.
All GAE apps start in gaehandler.py. Simply set the environment variables in side of gaehandler.py, it results in 100% fool proof detection. At the top of gaelhander.py: # foolproof detection in 1 line os.environ['WEB2PY_RUNTIME'] = 'GOOGLE' # also set the mode if os.environ.get('SERVER_SOFTWARE','').startswith('Devel'): os.environ['WEB2PY_MODE'] = 'DEVELOPMENT' else: os.environ['WEB2PY_MODE'] = 'PRODUCTION' Robin On Feb 1, 4:35 am, billf <billferr...@blueyonder.co.uk> wrote: > As a short-term solution, I am using the following patch: > > In compileapp.py, is_gae is set depending on the result of > imp.get_magic() so in build_environment() in the same module I store > is_gae in environment['GAE']. Then in db.py I can say > > if globals()['GAE']: before importing google stuff and using GQLDB() > > Have I a) re-invented the wheel, b) come up with a good solution, c) > missed something important? > > On Feb 1, 9:06 am, billf <billferr...@blueyonder.co.uk> wrote: > > > I have installed the google appengine but do not want web2py to use > > the google datastore just because the libs are there but that is what > > the welcome app does. > > > I have read some threads related to detecting GAE but they seemed > > inconclusive. > > > Is there a way that, in a model (or elsewhere for that matter) I can > > detect if the app is running on GAE that doesn't depend on the > > presence of google libs? --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "web2py Web Framework" group. To post to this group, send email to web2py@googlegroups.com To unsubscribe from this group, send email to web2py+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/web2py?hl=en -~----------~----~----~----~------~----~------~--~---