You are right - as always :-) Now it works. I have only copied the (wrong) example from this thead.
2011/9/13 Massimo Di Pierro <[email protected]> > Shouldn't this be > > from gluon.contrib.user_agent_parser import mobilize > @mobilize > ... > > On Sep 13, 3:22 am, Martin Weissenboeck <[email protected]> wrote: > > Hi, > > > > I have tried to test the user_agent_parser. At the top of default.py > there > > is > > > > from gluon.contrib import user_agent_parser > > > > @mobilize > > def m(): > > ua = request.user_agent() > > if ua.is_mobile(): > > return dict(a='MOBILE') > > else: > > return dict(a='FIX') > > > > And I got: > > > > Traceback (most recent call last): > > File "/home/web2py-trunk/public_html/gluon/restricted.py", line 194, > > in restricted > > > > exec ccode in environment > > File > "/home/web2py-trunk/public_html/applications/welcome/controllers/default.py > " > > <https://web2py-trunk.fluxflex.com/admin/default/edit/welcome/controll.. > .>, > > line 14, in <module> > > > > @mobilize > > NameError: name 'mobilize' is not defined > > > > Version 1.99.0 (2011-09-13 04:16:50) I have checked it, in the source > code > > there is: > > > > class mobilize(object): > > > > def __init__(self, func): > > self.func = func > > > > def __call__(self): > > from gluon import current > > if current.session._user_agent and > > current.session._user_agent.is_mobile: > > items = current.response.view.split('.') > > items.insert(-1,'mobile') > > current.response.view = '.'.join(items) > > return self.func() > > > > Without @mobilize the program detects my Android phone - no errors. Maybe > > there is only a small error, but I cannot find it. > > > > Regards, Martin >

