I came here to report this bug as well.
I did a workaround - it comes from the beginning of the appadmin.py
file.
For the meantime I put the if DEMO_MODE: inside a try..except block.
I'm not sure this is robust but at least it works:

try:
    if DEMO_MODE:
        response.flash = T('disabled in demo mode')
        redirect(URL('default','site'))
except:
    pass

hope this helps,
Omri

On Oct 13, 11:50 am, DenesL <[email protected]> wrote:
> Same problem here.
> Create new app, click on "database administration" link, error.
>
> On Oct 13, 2:43 am, Joe J <[email protected]> wrote:
>
>
>
>
>
>
>
> > Hi all,
> >   I have a newly updated web2py install.  If I create a new
> > application and click on any controller associated with the
> > appadmin.py, I get a DEMO_MODE is not defined error.  This is before
> > doing any sort of coding.  Am I missing some sort of configuration
> > setting?
> > Any help is much appreciated.
> > Joe
>
> > Version web2py Version 1.87.2 (2010-10-12 15:23:17)
>
> > Error traceback
>
> > 1.
> > 2.
> > 3.
> > 4.
> > 5.
> > 6.
> > 7.
>
> > Traceback (most recent call last):
> >   File "/Users/jjasinsk/Sites/web2py/web2py/gluon/restricted.py", line
> > 188, in restricted
> >     exec ccode in environment
> >   File "/Users/jjasinsk/Sites/web2py/web2py/applications/asdf/
> > controllers/appadmin.py", line 14, in <module>
> >     if DEMO_MODE:
> > NameError: name 'DEMO_MODE' is not defined
>
> > Error snapshot
> > Detailed traceback description
>
> >     * Exception: <type 'exceptions.NameError'>(name 'DEMO_MODE' is not
> > defined)
> >       Exception instance attributes
> >           o __setattr__: <method-wrapper '__setattr__' of
> > exceptions.NameError object at 0x10160cc68>
> >           o __reduce_ex__: <built-in method __reduce_ex__ of
> > exceptions.NameError object at 0x10160cc68>
> >           o __getslice__: <method-wrapper '__getslice__' of
> > exceptions.NameError object at 0x10160cc68>
> >           o __getitem__: <method-wrapper '__getitem__' of
> > exceptions.NameError object at 0x10160cc68>
> >           o __setstate__: <built-in method __setstate__ of
> > exceptions.NameError object at 0x10160cc68>
> >           o __getattribute__: <method-wrapper '__getattribute__' of
> > exceptions.NameError object at 0x10160cc68>
> >           o __str__: <method-wrapper '__str__' of exceptions.NameError
> > object at 0x10160cc68>
> >           o args: ("name 'DEMO_MODE' is not defined",)
> >           o __reduce__: <built-in method __reduce__ of
> > exceptions.NameError object at 0x10160cc68>
> >           o __format__: <built-in method __format__ of
> > exceptions.NameError object at 0x10160cc68>
> >           o __class__: <type 'exceptions.NameError'>
> >           o __dict__: {}
> >           o __delattr__: <method-wrapper '__delattr__' of
> > exceptions.NameError object at 0x10160cc68>
> >           o __subclasshook__: <built-in method __subclasshook__ of
> > type object at 0x10011b640>
> >           o __repr__: <method-wrapper '__repr__' of
> > exceptions.NameError object at 0x10160cc68>
> >           o __init__: <method-wrapper '__init__' of
> > exceptions.NameError object at 0x10160cc68>
> >           o __hash__: <method-wrapper '__hash__' of
> > exceptions.NameError object at 0x10160cc68>
> >           o __sizeof__: <built-in method __sizeof__ of
> > exceptions.NameError object at 0x10160cc68>
> >           o __doc__: 'Name not found globally.'
> >           o __unicode__: <built-in method __unicode__ of
> > exceptions.NameError object at 0x10160cc68>
> >           o __new__: <built-in method __new__ of type object at
> > 0x10011b640>
> >     * Python 2.6.1: /opt/local/bin/python
>
> > File /Users/jjasinsk/Sites/web2py/web2py/gluon/restricted.py in
> > restricted at line 188
> > [ code | arguments | variables ]
> > Function argument list: (code='# -*- coding: utf-8 -*-\n\n#
> > #####################...k=disk)\n\n
> > \nresponse._vars=response._caller(index)\n', environment={'A': <class
> > 'gluon.html.A'>, 'Auth': <class 'gluon.tools.Auth'>, 'B': <class
> > 'gluon.html.B'>, 'BEAUTIFY': <class 'gluon.html.BEAUTIFY'>, 'BODY':
> > <class 'gluon.html.BODY'>, 'BR': <class 'gluon.html.BR'>, 'CENTER':
> > <class 'gluon.html.CENTER'>, 'CLEANUP': <class
> > 'gluon.validators.CLEANUP'>, 'CODE': <class 'gluon.html.CODE'>,
> > 'CRYPT': <class 'gluon.validators.CRYPT'>, ...}, layer='/Users/
> > jjasinsk/Sites/web2py/web2py/applications/asdf/controllers/
> > appadmin.py')
>
> > 183.
> > 184.
> > 185.
> > 186.
> > 187.
> > 188.
>
> > 189.
> > 190.
> > 191.
> > 192.
>
> >         if type(code) == types.CodeType:
> >             ccode = code
> >         else:
> >             ccode = compile2(code,layer)
>
> > exec ccode in environment
>
> >     except HTTP:
> >         raise
> >     except Exception:
> >         # XXX Show exception in Wing IDE if running in debugger
>
> >     * environment: {'A': <class 'gluon.html.A'>, 'Auth': <class
> > 'gluon.tools.Auth'>, 'B': <class 'gluon.html.B'>, 'BEAUTIFY': <class
> > 'gluon.html.BEAUTIFY'>, 'BODY': <class 'gluon.html.BODY'>, 'BR':
> > <class 'gluon.html.BR'>, 'CENTER': <class 'gluon.html.CENTER'>,
> > 'CLEANUP': <class 'gluon.validators.CLEANUP'>, 'CODE': <class
> > 'gluon.html.CODE'>, 'CRYPT': <class 'gluon.validators.CRYPT'>, ...}
> >     * ccode: <code object <module> at 0x10138d300, file "/
> > Use...plications/asdf/controllers/appadmin.py", line 7>
>
> > File /Users/jjasinsk/Sites/web2py/web2py/applications/asdf/controllers/
> > appadmin.py in <module> at line 14
> > [ code | arguments | variables ]
> > Function argument list: ()
>
> > 9.
> > 10.
> > 11.
> > 12.
> > 13.
> > 14.
>
> > 15.
> > 16.
> > 17.
> > 18.
>
> > import datetime
> > import copy
> > import gluon.contenttype
> > import gluon.fileutils
>
> > if DEMO_MODE:
>
> >     response.flash = T('disabled in demo mode')
> >     redirect(URL('default','site'))
>
> > # ## critical --- make a copy of the environment
>
> >     * DEMO_MODE: undefined

Reply via email to