def set_user_session(self, username=None, password=None, host=settings.IRODS_HOST, port=settings.IRODS_PORT, def_res=None, zone=settings.IRODS_ZONE, userid=0, sess_id=None): homedir = "/" + zone + "/home/" + username userEnv = IRodsEnv( pk=userid, host=host, port=port, def_res=def_res, home_coll=homedir, cwd=homedir, username=username, zone=zone, auth=password, irods_default_hash_scheme='MD5' ) if sess_id is None: self.session = Session(session_id=uuid4()) self.environment = self.session.create_environment(myEnv=userEnv) else: self.session = Session(session_id=sess_id) if self.session.session_file_exists(): self.environment = userEnv else: self.environment = self.session.create_environment(myEnv=userEnv) self.session.run('iinit', None, self.environment.auth) icommands.ACTIVE_SESSION = self.session
def __init__(self, option=None): # always create a session associated with admin for iRODS account creation self.session = Session() self.session.run('iinit', None, self.session.create_environment().auth)