fix: improve type hints for the static checkers

This commit is contained in:
Karim shoair
2026-03-29 23:01:02 +02:00
parent 68f7c5c36f
commit 5c450a3b52
3 changed files with 15 additions and 10 deletions
+5 -4
View File
@@ -28,6 +28,7 @@ from scrapling.engines.toolbelt.navigation import (
)
from scrapling.core._types import (
Any,
Awaitable,
Dict,
List,
Set,
@@ -152,7 +153,7 @@ class SyncSession:
response_container: List,
xhr_pattern: Optional[str] = None,
xhr_container: Optional[List] = None,
) -> Callable:
) -> Callable[[SyncPlaywrightResponse], None]:
"""Create a response handler that captures the final navigation response and optionally XHR/fetch responses.
:param page_info: The PageInfo object containing the page
@@ -162,7 +163,7 @@ class SyncSession:
:return: A callback function for page.on("response", ...)
"""
def handle_response(finished_response: SyncPlaywrightResponse):
def handle_response(finished_response: SyncPlaywrightResponse) -> None:
if (
finished_response.request.resource_type == "document"
and finished_response.request.is_navigation_request()
@@ -337,7 +338,7 @@ class AsyncSession:
response_container: List,
xhr_pattern: Optional[str] = None,
xhr_container: Optional[List] = None,
) -> Callable:
) -> Callable[[AsyncPlaywrightResponse], Awaitable[None]]:
"""Create an async response handler that captures the final navigation response and optionally XHR/fetch responses.
:param page_info: The PageInfo object containing the page
@@ -347,7 +348,7 @@ class AsyncSession:
:return: A callback function for page.on("response", ...)
"""
async def handle_response(finished_response: AsyncPlaywrightResponse):
async def handle_response(finished_response: AsyncPlaywrightResponse) -> None:
if (
finished_response.request.resource_type == "document"
and finished_response.request.is_navigation_request()
+5 -3
View File
@@ -11,7 +11,7 @@ from playwright.async_api import (
)
from scrapling.core.utils import log
from scrapling.core._types import Optional, ProxyType, Unpack
from scrapling.core._types import Optional, List, ProxyType, Unpack
from scrapling.engines.toolbelt.proxy_rotation import is_proxy_error
from scrapling.engines.toolbelt.convertor import Response, ResponseFactory
from scrapling.engines._browsers._types import PlaywrightSession, PlaywrightFetchParams
@@ -139,7 +139,8 @@ class DynamicSession(SyncSession, DynamicSessionMixin):
with self._page_generator(
params.timeout, params.extra_headers, params.disable_resources, proxy, params.blocked_domains
) as page_info:
final_response, xhr_captured = [None], []
final_response: List = [None]
xhr_captured: List = []
page = page_info.page
page.on(
"response",
@@ -319,7 +320,8 @@ class AsyncDynamicSession(AsyncSession, DynamicSessionMixin):
async with self._page_generator(
params.timeout, params.extra_headers, params.disable_resources, proxy, params.blocked_domains
) as page_info:
final_response, xhr_captured = [None], []
final_response: List = [None]
xhr_captured: List = []
page = page_info.page
page.on(
"response",
+5 -3
View File
@@ -9,7 +9,7 @@ from patchright.sync_api import sync_playwright
from patchright.async_api import async_playwright
from scrapling.core.utils import log
from scrapling.core._types import Any, Optional, ProxyType, Unpack
from scrapling.core._types import Any, List, Optional, ProxyType, Unpack
from scrapling.engines.toolbelt.proxy_rotation import is_proxy_error
from scrapling.engines.toolbelt.convertor import Response, ResponseFactory
from scrapling.engines._browsers._types import StealthSession, StealthFetchParams
@@ -222,7 +222,8 @@ class StealthySession(SyncSession, StealthySessionMixin):
with self._page_generator(
params.timeout, params.extra_headers, params.disable_resources, proxy, params.blocked_domains
) as page_info:
final_response, xhr_captured = [None], []
final_response: List = [None]
xhr_captured: List = []
page = page_info.page
page.on(
"response",
@@ -489,7 +490,8 @@ class AsyncStealthySession(AsyncSession, StealthySessionMixin):
async with self._page_generator(
params.timeout, params.extra_headers, params.disable_resources, proxy, params.blocked_domains
) as page_info:
final_response, xhr_captured = [None], []
final_response: List = [None]
xhr_captured: List = []
page = page_info.page
page.on(
"response",