Skip to content

Commit 1b27a4c

Browse files
feat: Repr for classes (#581)
1 parent f44b706 commit 1b27a4c

21 files changed

+140
-7
lines changed

playwright/_impl/_browser.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,9 @@ def __init__(
5151
self._contexts: List[BrowserContext] = []
5252
self._channel.on("close", lambda _: self._on_close())
5353

54+
def __repr__(self) -> str:
55+
return f"<Browser type={self._browser_type} version={self.version}>"
56+
5457
def _on_close(self) -> None:
5558
self._is_connected = False
5659
self.emit(Browser.Events.Disconnected)

playwright/_impl/_browser_context.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,9 @@ def __init__(
7575
),
7676
)
7777

78+
def __repr__(self) -> str:
79+
return f"<BrowserContext browser={self.browser}>"
80+
7881
def _on_page(self, page: Page) -> None:
7982
page._set_browser_context(self)
8083
self._pages.append(page)

playwright/_impl/_browser_type.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@ def __init__(
3838
) -> None:
3939
super().__init__(parent, type, guid, initializer)
4040

41+
def __repr__(self) -> str:
42+
return f"<BrowserType name={self.name} executable_path={self.executable_path}>"
43+
4144
@property
4245
def name(self) -> str:
4346
return self._initializer["name"]

playwright/_impl/_console_message.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,9 @@ def __init__(
2525
) -> None:
2626
super().__init__(parent, type, guid, initializer)
2727

28+
def __repr__(self) -> str:
29+
return f"<ConsoleMessage type={self.type} text={self.text}>"
30+
2831
def __str__(self) -> str:
2932
return self.text
3033

playwright/_impl/_dialog.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,9 @@ def __init__(
2424
) -> None:
2525
super().__init__(parent, type, guid, initializer)
2626

27+
def __repr__(self) -> str:
28+
return f"<Dialog type={self.type} message={self.message} default_value={self.default_value}>"
29+
2730
@property
2831
def type(self) -> str:
2932
return self._initializer["type"]

playwright/_impl/_download.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ def __init__(
2626
) -> None:
2727
super().__init__(parent, type, guid, initializer)
2828

29+
def __repr__(self) -> str:
30+
return f"<Download url={self.url!r} suggested_filename={self.suggested_filename!r}>"
31+
2932
@property
3033
def url(self) -> str:
3134
return self._initializer["url"]

playwright/_impl/_file_chooser.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,9 @@ def __init__(
3535
self._element_handle = element_handle
3636
self._is_multiple = is_multiple
3737

38+
def __repr__(self) -> str:
39+
return f"<FileChooser page={self._page} element={self._element_handle}>"
40+
3841
@property
3942
def page(self) -> "Page":
4043
return self._page

playwright/_impl/_frame.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,9 @@ def __init__(
8181
lambda params: self._on_frame_navigated(params),
8282
)
8383

84+
def __repr__(self) -> str:
85+
return f"<Frame name={self.name} url={self.url!r}>"
86+
8487
def _on_load_state(
8588
self, add: DocumentLoadState = None, remove: DocumentLoadState = None
8689
) -> None:

playwright/_impl/_impl_to_api_mapping.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,9 @@ class ImplWrapper:
2626
def __init__(self, impl_obj: Any) -> None:
2727
self._impl_obj = impl_obj
2828

29+
def __repr__(self) -> str:
30+
return self._impl_obj.__repr__()
31+
2932

3033
class ImplToApiMapping:
3134
def __init__(self) -> None:

playwright/_impl/_js_handle.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,9 @@ def __init__(
3636
"previewUpdated", lambda params: self._on_preview_updated(params["preview"])
3737
)
3838

39+
def __repr__(self) -> str:
40+
return f"<JSHandle preview={self._preview}>"
41+
3942
def __str__(self) -> str:
4043
return self._preview
4144

0 commit comments

Comments
 (0)