from manifoldapi.manifoldapi import ManifoldAPI, ManifoldException, ManifoldResult
from manifold.core.query import Query
+from myslice.settings import config, logger, DEBUG
+
# Name my backend 'ManifoldBackend'
class ManifoldBackend:
def authenticate(self, token=None):
if not token:
return None
+
+ person = {}
try:
username = token['username']
auth = {'AuthMethod': 'password', 'Username': username, 'AuthString': password}
api = ManifoldAPI(auth)
sessions_result = api.forward(Query.create('local:session').to_dict())
- print "result"
sessions = sessions_result.ok_value()
- print "ok"
if not sessions:
- print "GetSession failed", sessions_result.error()
+ logger.error("GetSession failed: {}".format(sessions_result.error()))
return
- print "first", sessions
session = sessions[0]
-
+ logger.debug("SESSION : {}".format(session))
+
# Change to session authentication
api.auth = {'AuthMethod': 'session', 'session': session['session']}
self.api = api
persons_result = api.forward(Query.get('local:user').to_dict())
persons = persons_result.ok_value()
if not persons:
- print "GetPersons failed",persons_result.error()
+ logger.error("GetPersons failed: {}".format(persons_result.error()))
return
person = persons[0]
- print "PERSON=", person
+ logger.debug("PERSON : {}".format(person))
+ #logger.info("{} {} <{}> logged in"\
+ # .format(person['config']['first_name'], person['config']['last_name'], person['config']['email']))
request.session['manifold'] = {'auth': api.auth, 'person': person, 'expires': session['expires']}
- except ManifoldException, e:
- print "ManifoldBackend.authenticate caught ManifoldException, returning corresponding ManifoldResult"
- return e.manifold_result
- except Exception, e:
- print "E: manifoldbackend", e
+ except ManifoldException as e:
+ logger.error("ManifoldException in Auth Backend: {}".format(e.manifold_result))
+ except Exception as e:
+ logger.error("Exception in Manifold Auth Backend: {}".format(e))
import traceback
traceback.print_exc()
return None