コード例 #1
0
 def recv(self):
     try:
         msg = iRODSMessage.recv(self.socket)
     except socket.error:
         logger.error("Could not receive server response")
         self.release(True)
         raise NetworkException("Could not receive server response")
     if msg.int_info < 0:
         try:
             err_msg = iRODSMessage(msg=msg.error).get_main_message(Error).RErrMsg_PI[0].msg
         except TypeError:
             raise get_exception_by_code(msg.int_info)
         raise get_exception_by_code(msg.int_info, err_msg)
     return msg
コード例 #2
0
ファイル: connection.py プロジェクト: trel/python-irodsclient
 def recv(self):
     try:
         msg = iRODSMessage.recv(self.socket)
     except socket.error:
         logger.error("Could not receive server response")
         self.release(True)
         raise NetworkException("Could not receive server response")
     if msg.int_info < 0:
         try:
             err_msg = iRODSMessage(msg=msg.error).get_main_message(Error).RErrMsg_PI[0].msg
         except TypeError:
             raise get_exception_by_code(msg.int_info)
         raise get_exception_by_code(msg.int_info, err_msg)
     return msg
コード例 #3
0
 def recv(self, into_buffer=None, return_message=(), acceptable_errors=()):
     acceptable_codes = set(nominal_code(e) for e in acceptable_errors)
     try:
         if into_buffer is None:
             msg = iRODSMessage.recv(self.socket)
         else:
             msg = iRODSMessage.recv_into(self.socket, into_buffer)
     except (socket.error, socket.timeout) as e:
         # If _recv_message_in_len() fails in recv() or recv_into(),
         # it will throw a socket.error exception. The exception is
         # caught here, a critical message is logged, and is wrapped
         # in a NetworkException with a more user friendly message
         logger.critical(e)
         logger.error("Could not receive server response")
         self.release(True)
         raise NetworkException("Could not receive server response")
     if isinstance(return_message, list): return_message[:] = [msg]
     if msg.int_info < 0:
         try:
             err_msg = iRODSMessage(
                 msg=msg.error).get_main_message(Error).RErrMsg_PI[0].msg
         except TypeError:
             err_msg = None
         if nominal_code(msg.int_info) not in acceptable_codes:
             raise get_exception_by_code(msg.int_info, err_msg)
     return msg
コード例 #4
0
 def recv(self):
     try:
         msg = iRODSMessage.recv(self.socket)
     except socket.error:
         logger.error("Could not receive server response")
         exit(1)
     if msg.int_info < 0:
         raise get_exception_by_code(msg.int_info)
     return msg
コード例 #5
0
    def setInfo(self):
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        try:
            s.connect((self.host, self.port))
        except socket.error:
            raise NetworkException(
                "Could not connect to specified host and port!")
        mainMessage = StartupPack((self.dummycred, self.dummycred),
                                  (self.dummycred, self.dummycred))

        msg = iRODSMessage(msg_type='RODS_CONNECT', msg=mainMessage)
        string = msg.pack()
        try:
            s.sendall(string)
        except:
            raise NetworkException("Unable to send message")
        try:
            msg = iRODSMessage.recv(s)
        except socket.error:
            exit(1)
        if msg.int_info < 0:
            raise get_exception_by_code(msg.int_info)

        msg = iRODSMessage(msg_type='RODS_API_REQ',
                           msg=None,
                           int_info=api_number['GET_MISC_SVR_INFO_AN'])
        string = msg.pack()
        try:
            s.sendall(string)
        except:
            raise NetworkException("Unable to send message")
        try:
            miscsvrinfo = iRODSMessage.recv(s)
        except socket.error:
            exit(1)
        if msg.int_info < 0:
            raise get_exception_by_code(msg.int_info)

        root = ET.fromstring(miscsvrinfo.msg)
        self.setProps("RCAT_ENABLED" if int(root[0].text) else "RCAT_DISABLED",
                      root[2].text, root[3].text, root[4].text,
                      int(root[1].text))
        s.close()
        return
コード例 #6
0
 def recv(self):
     msg = iRODSMessage.recv(self.socket)
     if msg.int_info < 0:
         raise get_exception_by_code(msg.int_info)
     return msg
コード例 #7
0
 def recv(self):
     msg = iRODSMessage.recv(self.socket)
     if msg.int_info < 0:
         raise get_exception_by_code(msg.int_info)
     return msg