def create_irods_connection(username, password, rodsconfig): from irods import (getRodsEnv, rcConnect, clientLoginWithPassword, rodsErrorName) err, rodsEnv = getRodsEnv() # Override all values later rodsEnv.rodsUserName = username rodsEnv.rodsHost = rodsconfig[0] rodsEnv.rodsPort = rodsconfig[1] rodsEnv.rodsZone = rodsconfig[2] conn, err = rcConnect(rodsEnv.rodsHost, rodsEnv.rodsPort, rodsEnv.rodsUserName, rodsEnv.rodsZone ) if err.status != 0: raise Exception('Connecting to iRODS failed %s' % rodsErrorName(err.status)[0]) err = clientLoginWithPassword(conn, password) if err != 0: raise Exception('Authenticating to iRODS failed %s, user: %, pw: %s' % rodsErrorName(err.status)[0], username, password) return conn
def rodsErrorName(self, errorCode): """Return the name for an IRODS error code""" myErrName, mySubErrName = irods.rodsErrorName(errorCode) return myErrName, mySubErrName