X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=activity%2F__init__.py;h=70381819c022c7d774e8c8c8f4aeaf8e45fdd43d;hb=534f2abeda7d18495594bc290f1f7e0135b0c300;hp=677424f8b252dca3776e787655e61688daedaf31;hpb=c5ce008763e2e921336b22c390b0077b339a1bfe;p=unfold.git diff --git a/activity/__init__.py b/activity/__init__.py index 677424f8..70381819 100644 --- a/activity/__init__.py +++ b/activity/__init__.py @@ -31,10 +31,10 @@ else : if config.activity and config.activity.server : server = config.activity.server else : - # secret will be necessary - server = "http://athos.ipv6.lip6.fr/log" + # default log server + server = "http://athos.ipv6.lip6.fr/activity/push/log" -def logWrite(request, action, message): +def logWrite(request, action, message, objects = None): if not apikey : print "===============>> activity: no apikey" @@ -54,25 +54,39 @@ def logWrite(request, action, message): "action" : action, "message" : message, "apikey" : apikey, - "signature" : sign(secret, "%s%s%s%s" % (timestamp, ip, request.user, action)) + "signature" : sign(secret, "%s%s%s%s" % (timestamp, ip, request.user, action)), + "slice" : None, + "resource" : None, + "resource_type" : None, + "facility" : None, + "testbed" : None, } + + if objects is not None: + for o in objects : + if (o in log) : + log[o] = objects[o] + try : result = urllib2.urlopen(server, urllib.urlencode(log)) + print "===============>> activity: %s <%s> %s" % (action, request.user,message) content = result.read() except urllib2.URLError as e: - print "Warning: connection to " + url + " impossible, could not log action" + print "===============>> activity: connection to " + server + " impossible, could not log action" + print e.strerror + print "" -def log(request, action, message): +def log(request, action, message, objects = None): # Create a new thread in Daemon mode to send the log entry - t = threading.Thread(target=logWrite, args=(request, action, message)) + t = threading.Thread(target=logWrite, args=(request, action, message, objects)) t.setDaemon(True) t.start() def getClientIp(request): - x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR') - if x_forwarded_for: + try : + x_forwarded_for = request.META.get('HTTP_X_FORWARDED_FOR') ip = x_forwarded_for.split(',')[0] - else: + except: ip = request.META.get('REMOTE_ADDR') return ip