auth token function added
authorartunit <artunit@6d9bc8c9-1ec2-4278-b937-99fde70a366f>
Fri, 28 Jan 2011 05:13:45 +0000 (05:13 +0000)
committerartunit <artunit@6d9bc8c9-1ec2-4278-b937-99fde70a366f>
Fri, 28 Jan 2011 05:13:45 +0000 (05:13 +0000)
git-svn-id: svn://svn.open-ils.org/ILS-Contrib/servres/trunk@1212 6d9bc8c9-1ec2-4278-b937-99fde70a366f

conifer/integration/uwindsor.py

index 34f4456..dde1e7d 100644 (file)
@@ -11,6 +11,7 @@ from memoization import memoize
 from xml.etree import ElementTree as ET
 import csv
 import datetime
+import hashlib
 import time
 import os
 import re
@@ -204,6 +205,26 @@ def _item_status(bib_id):
             pass          # fail silently in production if there's an opensrf or time related error.
     return None
 
+#for example: auth_token("username@uwindsor.ca", "password", "OWA", "workstation")
+def auth_token(username, password, org, workstation):
+    try:
+       authtoken = None
+       payload = E1('open-ils.auth.authenticate.init', username)
+       pw = hashlib.md5(password).hexdigest()
+       pw = hashlib.md5(payload + pw).hexdigest()
+       authinfo = E1('open-ils.auth.authenticate.complete',{"password":pw, "type":"staff", 
+               "org": org, "username":username,
+               "workstation":workstation})
+       if authinfo:
+               payload = authinfo.get("payload")
+               authtoken = payload.get("authtoken")
+    except:
+           print "authentication problem: ", username
+            print "*** print_exc:"
+            traceback.print_exc()
+            pass          # fail silently in production 
+    return authtoken
+
 def cat_search(query, start=1, limit=10):
     bibid=0
     bc = re.search('\d{14}', query.strip())