Revision 0b7d3b31 ncclient/operations/rpc.py

b/ncclient/operations/rpc.py
289 289
        :type opspec: :obj:`dict` or :obj:`string` or :class:`~xml.etree.ElementTree.Element`
290 290
        :rtype: :class:`~threading.Event` or :class:`RPCReply`
291 291
        """
292
        logger.debug('request %r with opsepc=%r' % (self, op))
292 293
        req = self._build(op)
293
        self._session.send(req)
294
        if self._async:
295
            return self._event
294
        self.session.send(req)
295
        if self.async:
296
            logger.debug('async, returning event')
297
            return self.event
296 298
        else:
297
            self._event.wait(self._timeout)
298
            if self._event.isSet():
299
                if self._error:
299
            logger.debug('sync, will wait for timeout=%r' % self.timeout)
300
            self.event.wait(self.timeout)
301
            if self.event.isSet():
302
                if self.error:
300 303
                    raise self._error
301
                self._reply.parse()
302
                return self._reply
304
                self.reply.parse()
305
                return self.reply
303 306
            else:
304 307
                raise TimeoutExpiredError
305 308

  

Also available in: Unified diff