MCPcopy Index your code
hub / github.com/python/cpython / get_event

Method get_event

Lib/_pyrepl/unix_console.py:409–438  ·  view source on GitHub ↗

Get an event from the console event queue. Parameters: - block (bool): Whether to block until an event is available. Returns: - Event: Event object from the event queue.

(self, block: bool = True)

Source from the content-addressed store, hash-verified

407 self.event_queue.push(char)
408
409 def get_event(self, block: bool = True) -> Event | None:
410 """
411 Get an event from the console event queue.
412
413 Parameters:
414 - block (bool): Whether to block until an event is available.
415
416 Returns:
417 - Event: Event object from the event queue.
418 """
419 if not block and not self.wait(timeout=0):
420 return None
421
422 while self.event_queue.empty():
423 while True:
424 try:
425 self.push_char(self.__read(1))
426 except OSError as err:
427 if err.errno == errno.EINTR:
428 if not self.event_queue.empty():
429 return self.event_queue.get()
430 else:
431 continue
432 elif err.errno == errno.EIO:
433 raise SystemExit(errno.EIO)
434 else:
435 raise
436 else:
437 break
438 return self.event_queue.get()
439
440 def wait(self, timeout: float | None = None) -> bool:
441 """

Callers

nothing calls this directly

Calls 5

waitMethod · 0.95
push_charMethod · 0.95
__readMethod · 0.95
emptyMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected