Best Python code snippet using playwright-python
server.py
Source:server.py
...45 if handler is None:46 return partial(self.route, method, path)47 if not path.startswith("/"):48 raise ValueError("Path should start with / or be empty.")49 handler = self._wrap_handler(handler)50 path = "%s/%s" % (self._rootpath, path.lstrip("/"))51 self._application.router.add_route(method, path, handler)52 def handle(self, action_name, handler=None):53 """Add a handler for a specific API action.54 The action string describes an action from the server's API55 description document. Some examples:56 auth:Machines.allocate57 anon:Version.read58 The handler is wrapped by `_wrap_handler` but should otherwise a normal59 `aiohttp` request handler.60 This method can be used as a decorator by omitting `handler`:61 @builder.handle("anon:Version.read")62 async def version(request):63 ...64 """65 if handler is None:66 return partial(self.handle, action_name)67 action = self._resolve_action(action_name)68 view_name = self._view_name(action)69 assert view_name not in self._actions70 self._actions[view_name] = action71 handler = self._wrap_handler(handler)72 if view_name in self._views:73 view = self._views[view_name]74 view.set(action, handler)75 else:76 view = self._views[view_name] = ApplicationView()77 self._application.router.add_route("*", action.path, view)78 view.set(action, handler)79 def serve(self):80 """Return an async context manager to serve the built application."""81 return ApplicationRunner(82 self._application, self._basepath)83 @staticmethod84 def _wrap_handler(handler):85 """Wrap `handler` in some conveniences.86 These are:87 * Setting `request.params` to a `MultiDict` instance of POSTed form88 parameters, or `None` if the body content was not a multipart form.89 * Passing `request.match_info` as keyword arguments into the handler.90 For example, if a route like "/foo/{bar}" is matched by a path91 "/foo/thing", the handler will be called with bar="thing".92 * Objects returned from `handler` that are not proper responses are93 rendered as JSON.94 """95 async def wrapper(request):96 # For convenience, read in all multipart parameters.97 assert not hasattr(request, "params")98 if request.content_type == "multipart/form-data":...
aws_lambda.py
Source:aws_lambda.py
...16 from typing import Callable17 from typing import Optional18 from sentry_sdk._types import EventProcessor, Event, Hint19 F = TypeVar("F", bound=Callable[..., Any])20def _wrap_handler(handler):21 # type: (F) -> F22 def sentry_handler(event, context, *args, **kwargs):23 # type: (Any, Any, *Any, **Any) -> Any24 hub = Hub.current25 integration = hub.get_integration(AwsLambdaIntegration)26 if integration is None:27 return handler(event, context, *args, **kwargs)28 # If an integration is there, a client has to be there.29 client = hub.client # type: Any30 with hub.push_scope() as scope:31 with capture_internal_exceptions():32 scope.clear_breadcrumbs()33 scope.transaction = context.function_name34 scope.add_event_processor(_make_request_event_processor(event, context))35 try:36 return handler(event, context, *args, **kwargs)37 except Exception:38 exc_info = sys.exc_info()39 event, hint = event_from_exception(40 exc_info,41 client_options=client.options,42 mechanism={"type": "aws_lambda", "handled": False},43 )44 hub.capture_event(event, hint=hint)45 reraise(*exc_info)46 return sentry_handler # type: ignore47def _drain_queue():48 # type: () -> None49 with capture_internal_exceptions():50 hub = Hub.current51 integration = hub.get_integration(AwsLambdaIntegration)52 if integration is not None:53 # Flush out the event queue before AWS kills the54 # process.55 hub.flush()56class AwsLambdaIntegration(Integration):57 identifier = "aws_lambda"58 @staticmethod59 def setup_once():60 # type: () -> None61 import __main__ as lambda_bootstrap # type: ignore62 pre_37 = True # Python 3.6 or 2.763 if not hasattr(lambda_bootstrap, "handle_http_request"):64 try:65 import bootstrap as lambda_bootstrap # type: ignore66 pre_37 = False # Python 3.767 except ImportError:68 pass69 if not hasattr(lambda_bootstrap, "handle_event_request"):70 logger.warning(71 "Not running in AWS Lambda environment, "72 "AwsLambdaIntegration disabled"73 )74 return75 if pre_37:76 old_handle_event_request = lambda_bootstrap.handle_event_request77 def sentry_handle_event_request(request_handler, *args, **kwargs):78 # type: (Any, *Any, **Any) -> Any79 request_handler = _wrap_handler(request_handler)80 return old_handle_event_request(request_handler, *args, **kwargs)81 lambda_bootstrap.handle_event_request = sentry_handle_event_request82 old_handle_http_request = lambda_bootstrap.handle_http_request83 def sentry_handle_http_request(request_handler, *args, **kwargs):84 # type: (Any, *Any, **Any) -> Any85 request_handler = _wrap_handler(request_handler)86 return old_handle_http_request(request_handler, *args, **kwargs)87 lambda_bootstrap.handle_http_request = sentry_handle_http_request88 # Patch to_json to drain the queue. This should work even when the89 # SDK is initialized inside of the handler90 old_to_json = lambda_bootstrap.to_json91 def sentry_to_json(*args, **kwargs):92 # type: (*Any, **Any) -> Any93 _drain_queue()94 return old_to_json(*args, **kwargs)95 lambda_bootstrap.to_json = sentry_to_json96 else:97 old_handle_event_request = lambda_bootstrap.handle_event_request98 def sentry_handle_event_request( # type: ignore99 lambda_runtime_client, request_handler, *args, **kwargs100 ):101 request_handler = _wrap_handler(request_handler)102 return old_handle_event_request(103 lambda_runtime_client, request_handler, *args, **kwargs104 )105 lambda_bootstrap.handle_event_request = sentry_handle_event_request106 # Patch the runtime client to drain the queue. This should work107 # even when the SDK is initialized inside of the handler108 def _wrap_post_function(f):109 # type: (F) -> F110 def inner(*args, **kwargs):111 # type: (*Any, **Any) -> Any112 _drain_queue()113 return f(*args, **kwargs)114 return inner # type: ignore115 lambda_bootstrap.LambdaRuntimeClient.post_invocation_result = _wrap_post_function(...
_async_base.py
Source:_async_base.py
...49 task = asyncio.current_task()50 setattr(task, "__pw_api_name__", api_name)51 setattr(task, "__pw_stack_trace__", traceback.extract_stack())52 return coro53 def _wrap_handler(self, handler: Any) -> Callable[..., None]:54 if callable(handler):55 return mapping.wrap_handler(handler)56 return handler57 def on(self, event: Any, f: Any) -> None:58 """Registers the function ``f`` to the event name ``event``."""59 self._impl_obj.on(event, self._wrap_handler(f))60 def once(self, event: Any, f: Any) -> None:61 """The same as ``self.on``, except that the listener is automatically62 removed after being called.63 """64 self._impl_obj.once(event, self._wrap_handler(f))65 def remove_listener(self, event: Any, f: Any) -> None:66 """Removes the function ``f`` from ``event``."""67 self._impl_obj.remove_listener(event, self._wrap_handler(f))68class AsyncContextManager(AsyncBase):69 async def __aenter__(self: Self) -> Self:70 return self71 async def __aexit__(72 self,73 exc_type: Type[BaseException],74 exc_val: BaseException,75 traceback: TracebackType,76 ) -> None:77 await self.close()78 async def close(self) -> None:...
__init__.py
Source:__init__.py
...32 :return: wrapper-function to use with handler -> server33 """34 async def exectue_handler(_handler, request):35 return await _handler(request)36 def _wrap_handler(handler):37 call_chain = middlewares38 chained_dispatcher = _compose(*call_chain)(exectue_handler)39 return partial(chained_dispatcher, handler)...
LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!