Skip to content

Commit 37e1d08

Browse files
committed
Fix MyPy typing errors
1 parent 0db1f0b commit 37e1d08

2 files changed

Lines changed: 15 additions & 7 deletions

File tree

src/scrape_do/exceptions.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -151,7 +151,7 @@ def __init__(
151151
):
152152
self.raw_response = raw_response
153153
self.raw_status_code = raw_response.status_code
154-
self.message = f"Unknown API Error. Body: {response.text}"
154+
self.message = f"Unknown API Error. Body: {raw_response.text}"
155155

156156
# Attempt to parse known JSON keys
157157
try:
@@ -232,10 +232,12 @@ def __init__(
232232
raw_response: httpx.Response,
233233
request: PreparedScrapeDoRequest,
234234
response: ScrapeDoResponse,
235-
last_known_rid: str
235+
last_known_rid: str,
236+
new_rid: str,
237+
session_id: int,
236238
):
237-
self.new_rid = response.rid
238-
self.session_id = request.api_params.session_id
239+
self.new_rid = new_rid
240+
self.session_id = session_id
239241
self.last_known_rid = last_known_rid
240242
self.raw_response = raw_response
241243
msg = (f"The Scrape.do session for `sessionId={self.session_id}` has"

src/scrape_do/models.py

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1059,7 +1059,11 @@ def from_url(cls, api_url: str) -> RequestParameters:
10591059

10601060
parsed = urllib.parse.urlparse(api_url)
10611061
query_params = urllib.parse.parse_qs(parsed.query)
1062-
flat_params = {k: v[0] for k, v in query_params.items()}
1062+
# Type parsed params as Dict[str, Any] and let Pydantic raise a
1063+
# ValidationError if it can't coerce a specific value
1064+
flat_params: Dict[str, Any] = {
1065+
k: v[0] for k, v in query_params.items()
1066+
}
10631067

10641068
# Reconstruct the nested JSON actions if they exist
10651069
if "playWithBrowser" in flat_params:
@@ -2094,11 +2098,13 @@ def raise_for_status(self) -> Self:
20942098
)
20952099

20962100
# If is_proxy_error is False, then it's a TargetError
2101+
2102+
status_code = self.target_status_code or self._raw_response.status_code
20972103
raise TargetError(
20982104
(f"Target rejected request with status: "
2099-
f"{self.target_status_code}"
2105+
f"{status_code}"
21002106
),
2101-
self.target_status_code,
2107+
status_code,
21022108
self._raw_response,
21032109
self._raw_request,
21042110
self

0 commit comments

Comments
 (0)