def finish_handler(handler_id: int, event_queue_id: str, contents: List[Dict[str, Any]], apply_markdown: bool) -> None: err_msg = "Got error finishing handler for queue %s" % (event_queue_id, ) try: # We call async_request_restart here in case we are # being finished without any events (because another # get_events request has supplanted this request) handler = get_handler_by_id(handler_id) request = handler._request async_request_restart(request) if len(contents) != 1: request._log_data['extra'] = "[%s/1]" % (event_queue_id, ) else: request._log_data['extra'] = "[%s/1/%s]" % (event_queue_id, contents[0]["type"]) handler.zulip_finish(dict(result='success', msg='', events=contents, queue_id=event_queue_id), request, apply_markdown=apply_markdown) except IOError as e: if str(e) != 'Stream is closed': logging.exception(err_msg) except AssertionError as e: if str(e) != 'Request closed': logging.exception(err_msg) except Exception: logging.exception(err_msg)
def finish_handler(handler_id, event_queue_id, contents, apply_markdown): # type: (int, str, List[Dict[str, Any]], bool) -> None err_msg = "Got error finishing handler for queue %s" % (event_queue_id,) try: # We call async_request_restart here in case we are # being finished without any events (because another # get_events request has supplanted this request) handler = get_handler_by_id(handler_id) request = handler._request async_request_restart(request) if len(contents) != 1: request._log_data['extra'] = "[%s/1]" % (event_queue_id,) else: request._log_data['extra'] = "[%s/1/%s]" % (event_queue_id, contents[0]["type"]) handler.zulip_finish(dict(result='success', msg='', events=contents, queue_id=event_queue_id), request, apply_markdown=apply_markdown) except IOError as e: if str(e) != 'Stream is closed': logging.exception(err_msg) except AssertionError as e: if str(e) != 'Request closed': logging.exception(err_msg) except Exception: logging.exception(err_msg)
def add_event(self, event: Dict[str, Any]) -> None: if self.current_handler_id is not None: handler = get_handler_by_id(self.current_handler_id) async_request_restart(handler._request) self.event_queue.push(event) self.finish_current_handler()
def finish_current_handler(self): if self.current_handler is not None: err_msg = "Got error finishing handler for queue %s" % (self.event_queue.id,) try: # We call async_request_restart here in case we are # being finished without any events (because another # get_events request has supplanted this request) async_request_restart(self.current_handler._request) self.current_handler._request._log_data['extra'] = "[%s/1]" % (self.event_queue.id,) self.current_handler.zulip_finish(dict(result='success', msg='', events=self.event_queue.contents(), queue_id=self.event_queue.id), self.current_handler._request, apply_markdown=self.apply_markdown) except IOError as e: if e.message != 'Stream is closed': logging.exception(err_msg) except AssertionError as e: if e.message != 'Request closed': logging.exception(err_msg) except Exception: logging.exception(err_msg) finally: self.disconnect_handler() return True return False
def add_event(self, event): if self.current_handler_id is not None: handler = get_handler_by_id(self.current_handler_id) async_request_restart(handler._request) self.event_queue.push(event) self.finish_current_handler()
def finish_handler(handler_id, event_queue_id, contents, apply_markdown): err_msg = "Got error finishing handler for queue %s" % (event_queue_id,) try: # We call async_request_restart here in case we are # being finished without any events (because another # get_events request has supplanted this request) handler = get_handler_by_id(handler_id) request = handler._request async_request_restart(request) request._log_data['extra'] = "[%s/1]" % (event_queue_id,) handler.zulip_finish(dict(result='success', msg='', events=contents, queue_id=event_queue_id), request, apply_markdown=apply_markdown) except IOError as e: if e.message != 'Stream is closed': logging.exception(err_msg) except AssertionError as e: if e.message != 'Request closed': logging.exception(err_msg) except Exception: logging.exception(err_msg)
def finish_handler(handler_id, event_queue_id, contents, apply_markdown): err_msg = "Got error finishing handler for queue %s" % (event_queue_id, ) try: # We call async_request_restart here in case we are # being finished without any events (because another # get_events request has supplanted this request) handler = get_handler_by_id(handler_id) request = handler._request async_request_restart(request) request._log_data['extra'] = "[%s/1]" % (event_queue_id, ) handler.zulip_finish(dict(result='success', msg='', events=contents, queue_id=event_queue_id), request, apply_markdown=apply_markdown) except IOError as e: if e.message != 'Stream is closed': logging.exception(err_msg) except AssertionError as e: if e.message != 'Request closed': logging.exception(err_msg) except Exception: logging.exception(err_msg)
def add_event(self, event): if self.current_handler is not None: async_request_restart(self.current_handler._request) self.event_queue.push(event) self.finish_current_handler()