Example #1
0
def _get_visitor_id(request):
    if 'visitor_id' in request.session:
        visitor_id = request.session['visitor_id']
        if type(visitor_id) != str:
            visitor_id = str(visitor_id)
            request.session['visitor_id'] = visitor_id
    else:
        visitor_id = str(uuid.uuid4())
        tasks.create_visitor.delay(visitor_id)
        for b in get_sync_backends(request):
            b.create_visitor(visitor_id)
        request.session['visitor_id'] = visitor_id
    return visitor_id
Example #2
0
def register_request_event(request, 
                           event_type, 
                           event_data={},
                           when=None):
    tasks.register_event.delay(event_type,
                               _get_visitor_id(request),
                               when=when,
                               data=event_data)
    for b in get_sync_backends(request):
        b.register_event(event_type,
                         _get_visitor_id(request),
                         when=when,
                         data=event_data)
Example #3
0
def label_visitor(request, label):
    tasks.label_visitor.delay(_get_visitor_id(request),
                              label)
    for b in get_sync_backends(request):
        b.label_visitor(_get_visitor_id(request),
                        label)