server/src/metaeducation/tracking/messages.py
changeset 88 b523b73ae39d
parent 81 709541e05240
child 112 2ec47574a371
equal deleted inserted replaced
87:756c34d7f639 88:b523b73ae39d
     1 import datetime
     1 import datetime
     2 import json
     2 import json
     3 import logging
     3 import logging
     4 import pytz
     4 import pytz
     5 
     5 
       
     6 from django.utils import six
       
     7 
     6 from .tasks import send_tracking_data
     8 from .tasks import send_tracking_data
     7 
     9 
     8 logger = logging.getLogger(__name__)
    10 logger = logging.getLogger(__name__)
       
    11 
       
    12 def get_user_name(user):
       
    13     if not user:
       
    14         return 'n/a'
       
    15     if isinstance(user, six.string_types):
       
    16         return user
       
    17     try:
       
    18         if user.is_authenticated() and user.external_id:
       
    19             return str(user.external_id)
       
    20         else:
       
    21             return 'Anonymous'
       
    22     except:
       
    23         return 'anonymous'
     9 
    24 
    10 
    25 
    11 def get_base_message(verb, renkan_id, current_user, registration = None):
    26 def get_base_message(verb, renkan_id, current_user, registration = None):
    12     #create
    27     #create
    13     #open-read
    28     #open-read
    44         }
    59         }
    45     }[verb];
    60     }[verb];
    46     msg = {
    61     msg = {
    47         'actor': {
    62         'actor': {
    48             'objectType': 'Agent',
    63             'objectType': 'Agent',
    49             'name': current_user or 'n/a',
    64             'name': get_user_name(current_user),
    50             'account': {
    65             'account': {
    51                 'homePage': 'https://www.metaeducation.fr/Utilisateurs/',
    66                 'homePage': 'https://www.metaeducation.fr/Utilisateurs/',
    52                 'name': current_user or 'n/a'
    67                 'name': get_user_name(current_user)
    53             }
    68             }
    54         },
    69         },
    55         'verb': verbNode,
    70         'verb': verbNode,
    56         'object': {
    71         'object': {
    57             'objectType': 'Activity',
    72             'objectType': 'Activity',