MCPcopy Index your code
hub / github.com/microsoft/playwright-python / _do_stop_chunk

Method _do_stop_chunk

playwright/_impl/_tracing.py:93–151  ·  view source on GitHub ↗
(self, file_path: Union[pathlib.Path, str] = None)

Source from the content-addressed store, hash-verified

91 )
92
93 async def _do_stop_chunk(self, file_path: Union[pathlib.Path, str] = None) -> None:
94 self._reset_stack_counter()
95
96 if not file_path:
97 # Not interested in any artifacts
98 await self._channel.send("tracingStopChunk", None, {"mode": "discard"})
99 if self._stacks_id:
100 await self._connection.local_utils.trace_discarded(self._stacks_id)
101 return
102
103 is_local = not self._connection.is_remote
104
105 if is_local:
106 result = await self._channel.send_return_as_dict(
107 "tracingStopChunk", None, {"mode": "entries"}
108 )
109 await self._connection.local_utils.zip(
110 {
111 "zipFile": str(file_path),
112 "entries": result["entries"],
113 "stacksId": self._stacks_id,
114 "mode": "write",
115 "includeSources": self._include_sources,
116 }
117 )
118 return
119
120 result = await self._channel.send_return_as_dict(
121 "tracingStopChunk",
122 None,
123 {
124 "mode": "archive",
125 },
126 )
127
128 artifact = cast(
129 Optional[Artifact],
130 from_nullable_channel(result.get("artifact")),
131 )
132
133 # The artifact may be missing if the browser closed while stopping tracing.
134 if not artifact:
135 if self._stacks_id:
136 await self._connection.local_utils.trace_discarded(self._stacks_id)
137 return
138
139 # Save trace to the final local file.
140 await artifact.save_as(file_path)
141 await artifact.delete()
142
143 await self._connection.local_utils.zip(
144 {
145 "zipFile": str(file_path),
146 "entries": [],
147 "stacksId": self._stacks_id,
148 "mode": "append",
149 "includeSources": self._include_sources,
150 }

Callers 2

stop_chunkMethod · 0.95
stopMethod · 0.95

Calls 9

_reset_stack_counterMethod · 0.95
from_nullable_channelFunction · 0.90
trace_discardedMethod · 0.80
send_return_as_dictMethod · 0.80
zipMethod · 0.80
sendMethod · 0.45
getMethod · 0.45
save_asMethod · 0.45
deleteMethod · 0.45

Tested by

no test coverage detected