From 689ea1ee3568621bf51e69112b024c4db042077a Mon Sep 17 00:00:00 2001 From: "luxagraf@c63593aa-01b0-44d9-8516-4b9c7e931d7f" Date: Sat, 19 Jun 2010 18:22:28 +0000 Subject: added mobile middleware and templates --- lib/mobile_middleware/__init__.py | 0 lib/mobile_middleware/mobile_detect.py | 31 +++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+) create mode 100644 lib/mobile_middleware/__init__.py create mode 100644 lib/mobile_middleware/mobile_detect.py (limited to 'lib') diff --git a/lib/mobile_middleware/__init__.py b/lib/mobile_middleware/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/lib/mobile_middleware/mobile_detect.py b/lib/mobile_middleware/mobile_detect.py new file mode 100644 index 0000000..6f5b998 --- /dev/null +++ b/lib/mobile_middleware/mobile_detect.py @@ -0,0 +1,31 @@ +from django.http import HttpResponseRedirect +import re +mobile_url = 'http://m.luxagraf.net/' +agents_list = [ + 'Nokia','bMOT','^LGE?b','SonyEricsson', + 'Ericsson','BlackBerry','DoCoMo','Symbian', + 'Windows CE','NetFront','Klondike','PalmOS', + 'PalmSource','portalmm','S[CG]H-','bSAGEM', + 'SEC-','jBrowser-WAP','Mitsu','Panasonic-', + 'SAMSUNG-','Samsung-','Sendo','SHARP-', + 'Vodaphone','BenQ','iPAQ','AvantGo', + 'Go.Web','Sanyo-','AUDIOVOX','PG-', + 'CDM[-d]','^KDDI-','^SIE-','TSM[-d]', + '^KWC-','WAP','^KGT [NC]','iPhone', +] +def is_mobile(user_agent): + for agent in agents_list: + if re.search(agent, user_agent): + return True + return False + +class MobileRedirect(object): + def process_request(self, request): + if not request.session.get('checked_ua', False): + if is_mobile(request.META['HTTP_USER_AGENT']): + request.session['checked_ua'] = True + return HttpResponseRedirect(mobile_url) + else: + # Make sure it doesn't try this again + request.session['checked_ua'] = True + return None \ No newline at end of file -- cgit v1.2.3-70-g09d2