Merge pull request #729 from Textualize/private-methods

private
This commit is contained in:
Will McGugan
2022-09-02 14:02:38 +01:00
committed by GitHub
6 changed files with 27 additions and 27 deletions

View File

@@ -540,7 +540,7 @@ class App(Generic[ReturnType], DOMNode):
severity,
)
except Exception as error:
self.on_exception(error)
self._handle_exception(error)
def action_screenshot(self, path: str | None = None) -> None:
"""Action to save a screenshot."""
@@ -964,9 +964,9 @@ class App(Generic[ReturnType], DOMNode):
if self.mouse_over != widget:
try:
if self.mouse_over is not None:
await self.mouse_over.forward_event(events.Leave(self))
await self.mouse_over._forward_event(events.Leave(self))
if widget is not None:
await widget.forward_event(events.Enter(self))
await widget._forward_event(events.Enter(self))
finally:
self.mouse_over = widget
@@ -1005,7 +1005,7 @@ class App(Generic[ReturnType], DOMNode):
self._exit_renderables.extend(pre_rendered)
self._close_messages_no_wait()
def on_exception(self, error: Exception) -> None:
def _handle_exception(self, error: Exception) -> None:
"""Called with an unhandled exception.
Args:
@@ -1071,7 +1071,7 @@ class App(Generic[ReturnType], DOMNode):
self.CSS, path=app_css_path, is_default_css=False
)
except Exception as error:
self.on_exception(error)
self._handle_exception(error)
self._print_error_renderables()
return
@@ -1094,7 +1094,7 @@ class App(Generic[ReturnType], DOMNode):
await ready_callback()
await process_messages()
await self.animator.stop()
await self.close_all()
await self._close_all()
self._running = True
try:
@@ -1120,7 +1120,7 @@ class App(Generic[ReturnType], DOMNode):
finally:
driver.stop_application_mode()
except Exception as error:
self.on_exception(error)
self._handle_exception(error)
finally:
self._running = False
self._print_error_renderables()
@@ -1221,7 +1221,7 @@ class App(Generic[ReturnType], DOMNode):
async def _disconnect_devtools(self):
await self.devtools.disconnect()
def start_widget(self, parent: Widget, widget: Widget) -> None:
def _start_widget(self, parent: Widget, widget: Widget) -> None:
"""Start a widget (run it's task) so that it can receive messages.
Args:
@@ -1235,7 +1235,7 @@ class App(Generic[ReturnType], DOMNode):
def is_mounted(self, widget: Widget) -> bool:
return widget in self._registry
async def close_all(self) -> None:
async def _close_all(self) -> None:
while self._registry:
child = self._registry.pop()
await child._close_messages()
@@ -1279,7 +1279,7 @@ class App(Generic[ReturnType], DOMNode):
try:
console.print(renderable)
except Exception as error:
self.on_exception(error)
self._handle_exception(error)
finally:
self._end_update()
console.file.flush()
@@ -1348,16 +1348,16 @@ class App(Generic[ReturnType], DOMNode):
if isinstance(event, events.Key) and self.focused is not None:
# Key events are sent direct to focused widget
if self.bindings.allow_forward(event.key):
await self.focused.forward_event(event)
await self.focused._forward_event(event)
else:
# Key has allow_forward=False which disallows forward to focused widget
await super().on_event(event)
else:
# Forward the event to the view
await self.screen.forward_event(event)
await self.screen._forward_event(event)
elif isinstance(event, events.Paste):
if self.focused is not None:
await self.focused.forward_event(event)
await self.focused._forward_event(event)
else:
await super().on_event(event)
@@ -1514,7 +1514,7 @@ class App(Generic[ReturnType], DOMNode):
async def action_toggle_class(self, selector: str, class_name: str) -> None:
self.screen.query(selector).toggle_class(class_name)
def on_terminal_supports_synchronized_output(
def _on_terminal_supports_synchronized_output(
self, message: messages.TerminalSupportsSynchronizedOutput
) -> None:
log("[b green]SynchronizedOutput mode is supported")

View File

@@ -327,7 +327,7 @@ class MessagePump(metaclass=MessagePumpMeta):
except CancelledError:
raise
except Exception as error:
self.app.on_exception(error)
self.app._handle_exception(error)
break
finally:
self._message_queue.task_done()
@@ -340,7 +340,7 @@ class MessagePump(metaclass=MessagePumpMeta):
try:
await invoke(method, event)
except Exception as error:
self.app.on_exception(error)
self.app._handle_exception(error)
break
log("CLOSED", self)

View File

@@ -218,7 +218,7 @@ class Screen(Widget):
)
)
except Exception as error:
self.app.on_exception(error)
self.app._handle_exception(error)
return
display_update = self._compositor.render(full=full)
if display_update is not None:
@@ -277,9 +277,9 @@ class Screen(Widget):
style=event.style,
)
mouse_event.set_forwarded()
await widget.forward_event(mouse_event)
await widget._forward_event(mouse_event)
async def forward_event(self, event: events.Event) -> None:
async def _forward_event(self, event: events.Event) -> None:
if event.is_forwarded:
return
event.set_forwarded()
@@ -307,7 +307,7 @@ class Screen(Widget):
event.set_forwarded()
await self.post_message(event)
else:
await widget.forward_event(event.offset(-region.x, -region.y))
await widget._forward_event(event.offset(-region.x, -region.y))
elif isinstance(event, (events.MouseScrollDown, events.MouseScrollUp)):
try:
@@ -319,6 +319,6 @@ class Screen(Widget):
if scroll_widget is self:
await self.post_message(event)
else:
await scroll_widget.forward_event(event)
await scroll_widget._forward_event(event)
else:
await self.post_message(event)

View File

@@ -158,7 +158,7 @@ class Timer:
await invoke(self._callback)
except Exception as error:
app = active_app.get()
app.on_exception(error)
app._handle_exception(error)
else:
event = events.Timer(
self.sender,

View File

@@ -430,7 +430,7 @@ class Widget(DOMNode):
if self._scrollbar_corner is not None:
return self._scrollbar_corner
self._scrollbar_corner = ScrollBarCorner()
self.app.start_widget(self, self._scrollbar_corner)
self.app._start_widget(self, self._scrollbar_corner)
return self._scrollbar_corner
@property
@@ -447,7 +447,7 @@ class Widget(DOMNode):
self._vertical_scrollbar = scroll_bar = ScrollBar(
vertical=True, name="vertical", thickness=self.scrollbar_size_vertical
)
self.app.start_widget(self, scroll_bar)
self.app._start_widget(self, scroll_bar)
return scroll_bar
@property
@@ -465,7 +465,7 @@ class Widget(DOMNode):
vertical=False, name="horizontal", thickness=self.scrollbar_size_horizontal
)
self.app.start_widget(self, scroll_bar)
self.app._start_widget(self, scroll_bar)
return scroll_bar
def _refresh_scrollbars(self) -> None:
@@ -1338,7 +1338,7 @@ class Widget(DOMNode):
offset_x, offset_y = self.screen.get_offset(self)
return self.screen.get_style_at(x + offset_x, y + offset_y)
async def forward_event(self, event: events.Event) -> None:
async def _forward_event(self, event: events.Event) -> None:
event.set_forwarded()
await self.post_message(event)

View File

@@ -160,7 +160,7 @@ class AppTest(App):
await let_asyncio_process_some_events()
def on_exception(self, error: Exception) -> None:
def _handle_exception(self, error: Exception) -> None:
# In tests we want the errors to be raised, rather than printed to a Console
raise error