@@ -673,3 +673,20 @@ def simple_detect(agent):
|
|||||||
if os_version:
|
if os_version:
|
||||||
os = " ".join((os, os_version))
|
os = " ".join((os, os_version))
|
||||||
return os, browser
|
return os, browser
|
||||||
|
|
||||||
|
|
||||||
|
class mobilize(object):
|
||||||
|
"""
|
||||||
|
Decorator for controller functions so they use different views for mobile devices.
|
||||||
|
"""
|
||||||
|
def __init__(self, func):
|
||||||
|
self.func = func
|
||||||
|
|
||||||
|
def __call__(self):
|
||||||
|
from gluon import current
|
||||||
|
user_agent = current.request.user_agent()
|
||||||
|
if user_agent.is_mobile:
|
||||||
|
items = current.response.view.split('.')
|
||||||
|
items.insert(-1, 'mobile')
|
||||||
|
current.response.view = '.'.join(items)
|
||||||
|
return self.func()
|
||||||
|
|||||||
Reference in New Issue
Block a user