1. Éric Araujo
  2. pyramid_useragent

Overview

pyramid_useragent

Project Info

Provides an HTTP User-Agent parser and classifier for the Pyramid web framework.

Setup

Once pyramid_useragent is installed, you typically use the config.include mechanism to include it into your Pyramid project's configuration. In your Pyramid project's __init__.py:

config = Configurator(.....)
config.include('pyramid_useragent')

Alternately, instead of using the Configurator's include method, you can activate Pyramid by changing your application's .ini file, use the following line:

pyramid.includes = pyramid_useragent

Usage

def demo(request):

    client = request.user_agent_classified

    if client.is_mobile or client.is_tablet:
        return "Download our mobile app!"

    if client.is_bot:
        return "Are you human? I'am human."

    ua = request.user_agent_parsed

    if ua.maincomponent.name == 'Links':
        return "Did you REALLY use Links?"

    if 'AdobeAIR' in ua.components:
        if ua.components['AdobeAIR'].version == '3.9.0.1210':
            return "Much unsecure, so flaws"

    if ua.maincomponent.name == "Mozilla":
        return "This is supposed to describe your platform: %s" % (
            '; '.join(ua.maincomponent.comments))

    return [c.name for c in ua.components.values()]

Tests

pip install -e .[testing]
nosetests

Documentation

pip install -e .[docs]
cd docs
make html