Exemple #1
0
    def test_user_agent_recognition(self):

        user_agent_list = {
            "Mozilla/5.0 (iPad; U; CPU OS 4_2_1 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5":{
                'platform': 'iPhone OSX',
            }
        }

        for user_agent, user_agent_meta in user_agent_list.items():
            result = detect_user_agent(user_agent)
            self.assertEqual(result['platform'], user_agent_meta['platform'])
Exemple #2
0
    def test_user_agent_recognition(self):

        user_agent_list = {
            "Mozilla/5.0 (iPad; U; CPU OS 4_2_1 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5":
            {
                'platform': 'iPhone OSX',
            }
        }

        for user_agent, user_agent_meta in user_agent_list.items():
            result = detect_user_agent(user_agent)
            self.assertEqual(result['platform'], user_agent_meta['platform'])
Exemple #3
0
    def process_request(self, request):
        """
        Add browser features to request object
        """
        _user_agent = request.META.get('HTTP_USER_AGENT', 'Unknown')
        _user_agent = detect_user_agent(_user_agent)
        user_agent = _user_agent.copy()

        keys = user_agent.keys()
        for key in keys:
            if key not in NEEDED_VALUES:
                user_agent.pop(key)
        request.browser_info = user_agent
Exemple #4
0
    def process_request(self, request):
        """
        Add browser features to request object
        """
        _user_agent = request.META.get('HTTP_USER_AGENT', 'Unknown')
        _user_agent = detect_user_agent(_user_agent)
        user_agent = _user_agent.copy()

        keys = user_agent.keys()
        for key in keys:
            if key not in NEEDED_VALUES:
                user_agent.pop(key)
        request.browser_info = user_agent
Exemple #5
0
    start = time.time()
    result = get_user_agent_characteristics(candidates[-1])
    return result

def all_possible_matches(user_agent_string):
    candidates = []
    for agent in agents:
        if agent['regex'].match(user_agent_string):
            candidates.append(agent)
            
    candidates.sort(key=lambda x: len(x['name']))
    return [(item['name'], item['depth']) for item in candidates]

if __name__=="__main__":
    ua = "Mozilla/5.0 (iPad; U; CPU OS 4_2_1 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5"
    print detect_user_agent(ua)['ismobiledevice']

    ua = "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16"
    print detect_user_agent(ua)['browser']

    ua = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0) Gecko/20100101 Firefox/4.0"
    print detect_user_agent(ua)['browser']
########NEW FILE########
__FILENAME__ = views
from django.http import HttpResponseRedirect

def force_desktop_version(request):
    """
    Adds a session variable marking if the user wishes to view the desktop version
    """
    request.session['force_desktop_version'] = True
Exemple #6
0
    return result


def all_possible_matches(user_agent_string):
    candidates = []
    for agent in agents:
        if agent['regex'].match(user_agent_string):
            candidates.append(agent)

    candidates.sort(key=lambda x: len(x['name']))
    return [(item['name'], item['depth']) for item in candidates]


if __name__ == "__main__":
    ua = "Mozilla/5.0 (iPad; U; CPU OS 4_2_1 like Mac OS X; en-us) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5"
    print detect_user_agent(ua)['ismobiledevice']

    ua = "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16"
    print detect_user_agent(ua)['browser']

    ua = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0) Gecko/20100101 Firefox/4.0"
    print detect_user_agent(ua)['browser']
########NEW FILE########
__FILENAME__ = views
from django.http import HttpResponseRedirect


def force_desktop_version(request):
    """
    Adds a session variable marking if the user wishes to view the desktop version
    """