translate most modules to using print() as imported from __future__
[myslice.git] / activity / __init__.py
index ab2cd0d..e8eb5c3 100644 (file)
@@ -6,6 +6,8 @@
 # The secret is a 64 chars string that is used to sign the request
 # The generated signature is a SHA256 hes digest
 
+from __future__ import print_function
+
 import urllib, urllib2
 import threading
 import hmac
@@ -34,13 +36,13 @@ else :
     # 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"
+        print("===============>> activity: no apikey")
         return
     if not secret :
-        print "===============>> activity: no secret"
+        print("===============>> activity: no secret")
         return
     
     timestamp = time.mktime(datetime.datetime.today().timetuple())
@@ -54,17 +56,31 @@ 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 "===============>> activity: connection to " + server + " 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()
 
@@ -79,4 +95,4 @@ def getClientIp(request):
 #
 # sign the request with the secret key
 def sign(secret, message):
-    return hmac.new(secret, msg=message, digestmod=hashlib.sha256).hexdigest()
\ No newline at end of file
+    return hmac.new(secret, msg=message, digestmod=hashlib.sha256).hexdigest()