fix: make browser fetchers type hints always present
This commit is contained in:
@@ -19,7 +19,6 @@ from scrapling.core._types import (
|
||||
TypeAlias,
|
||||
SetCookieParam,
|
||||
SelectorWaitStates,
|
||||
TYPE_CHECKING,
|
||||
)
|
||||
from scrapling.engines.toolbelt.proxy_rotation import ProxyRotator
|
||||
|
||||
@@ -27,7 +26,6 @@ from scrapling.engines.toolbelt.proxy_rotation import ProxyRotator
|
||||
ImpersonateType: TypeAlias = BrowserTypeLiteral | List[BrowserTypeLiteral] | None
|
||||
|
||||
|
||||
if TYPE_CHECKING: # pragma: no cover
|
||||
# Types for session initialization
|
||||
class RequestsSession(TypedDict, total=False):
|
||||
impersonate: ImpersonateType
|
||||
@@ -47,17 +45,20 @@ if TYPE_CHECKING: # pragma: no cover
|
||||
cert: Optional[str | Tuple[str, str]]
|
||||
selector_config: Optional[Dict]
|
||||
|
||||
|
||||
# Types for GET request method parameters
|
||||
class GetRequestParams(RequestsSession, total=False):
|
||||
params: Optional[Dict | List | Tuple]
|
||||
cookies: Optional[CookieTypes]
|
||||
auth: Optional[Tuple[str, str]]
|
||||
|
||||
|
||||
# Types for POST/PUT/DELETE request method parameters
|
||||
class DataRequestParams(GetRequestParams, total=False):
|
||||
data: Optional[Dict[str, str] | List[Tuple] | str | BytesIO | bytes]
|
||||
json: Optional[Dict | List]
|
||||
|
||||
|
||||
# Types for browser session
|
||||
class PlaywrightSession(TypedDict, total=False):
|
||||
max_pages: int
|
||||
@@ -89,6 +90,7 @@ if TYPE_CHECKING: # pragma: no cover
|
||||
retries: int
|
||||
retry_delay: int | float
|
||||
|
||||
|
||||
class PlaywrightFetchParams(TypedDict, total=False):
|
||||
load_dom: bool
|
||||
wait: int | float
|
||||
@@ -104,20 +106,13 @@ if TYPE_CHECKING: # pragma: no cover
|
||||
blocked_domains: Optional[Set[str]]
|
||||
proxy: Optional[str | Dict[str, str]]
|
||||
|
||||
|
||||
class StealthSession(PlaywrightSession, total=False):
|
||||
allow_webgl: bool
|
||||
hide_canvas: bool
|
||||
block_webrtc: bool
|
||||
solve_cloudflare: bool
|
||||
|
||||
|
||||
class StealthFetchParams(PlaywrightFetchParams, total=False):
|
||||
solve_cloudflare: bool
|
||||
|
||||
else: # pragma: no cover
|
||||
RequestsSession = TypedDict
|
||||
GetRequestParams = TypedDict
|
||||
DataRequestParams = TypedDict
|
||||
PlaywrightSession = TypedDict
|
||||
PlaywrightFetchParams = TypedDict
|
||||
StealthSession = TypedDict
|
||||
StealthFetchParams = TypedDict
|
||||
|
||||
Reference in New Issue
Block a user