Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion src/apify_client/_utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -262,7 +262,7 @@ def maybe_parse_response(response: Response) -> Any:

try:
if is_content_type_json(content_type):
response_data = jsonlib.loads(response.text)
response_data = response.json()
elif is_content_type_xml(content_type) or is_content_type_text(content_type):
response_data = response.text
else:
Expand Down
9 changes: 4 additions & 5 deletions src/apify_client/clients/base/actor_job_base_client.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
from __future__ import annotations

import asyncio
import json as jsonlib
import math
import time
from datetime import datetime, timezone
Expand Down Expand Up @@ -38,7 +37,7 @@ def _wait_for_finish(self, wait_secs: int | None = None) -> dict | None:
method='GET',
params=self._params(waitForFinish=wait_for_finish),
)
job = parse_date_fields(pluck_data(jsonlib.loads(response.text)))
job = parse_date_fields(pluck_data(response.json()))

seconds_elapsed = math.floor((datetime.now(timezone.utc) - started_at).total_seconds())
if ActorJobStatus(job['status']).is_terminal or (
Expand Down Expand Up @@ -69,7 +68,7 @@ def _abort(self, *, gracefully: bool | None = None) -> dict:
method='POST',
params=self._params(gracefully=gracefully),
)
return parse_date_fields(pluck_data(jsonlib.loads(response.text)))
return parse_date_fields(pluck_data(response.json()))


class ActorJobBaseClientAsync(ResourceClientAsync):
Expand All @@ -92,7 +91,7 @@ async def _wait_for_finish(self, wait_secs: int | None = None) -> dict | None:
method='GET',
params=self._params(waitForFinish=wait_for_finish),
)
job = parse_date_fields(pluck_data(jsonlib.loads(response.text)))
job = parse_date_fields(pluck_data(response.json()))

seconds_elapsed = math.floor((datetime.now(timezone.utc) - started_at).total_seconds())
if ActorJobStatus(job['status']).is_terminal or (
Expand Down Expand Up @@ -123,4 +122,4 @@ async def _abort(self, *, gracefully: bool | None = None) -> dict:
method='POST',
params=self._params(gracefully=gracefully),
)
return parse_date_fields(pluck_data(jsonlib.loads(response.text)))
return parse_date_fields(pluck_data(response.json()))
10 changes: 4 additions & 6 deletions src/apify_client/clients/base/resource_client.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
from __future__ import annotations

import json as jsonlib

from apify_client._utils import catch_not_found_or_throw, parse_date_fields, pluck_data
from apify_client.clients.base.base_client import BaseClient, BaseClientAsync
from apify_client.errors import ApifyApiError
Expand All @@ -19,7 +17,7 @@ def _get(self, timeout_secs: int | None = None) -> dict | None:
timeout_secs=timeout_secs,
)

return parse_date_fields(pluck_data(jsonlib.loads(response.text)))
return parse_date_fields(pluck_data(response.json()))

except ApifyApiError as exc:
catch_not_found_or_throw(exc)
Expand All @@ -35,7 +33,7 @@ def _update(self, updated_fields: dict, timeout_secs: int | None = None) -> dict
timeout_secs=timeout_secs,
)

return parse_date_fields(pluck_data(jsonlib.loads(response.text)))
return parse_date_fields(pluck_data(response.json()))

def _delete(self, timeout_secs: int | None = None) -> None:
try:
Expand All @@ -62,7 +60,7 @@ async def _get(self, timeout_secs: int | None = None) -> dict | None:
timeout_secs=timeout_secs,
)

return parse_date_fields(pluck_data(jsonlib.loads(response.text)))
return parse_date_fields(pluck_data(response.json()))

except ApifyApiError as exc:
catch_not_found_or_throw(exc)
Expand All @@ -78,7 +76,7 @@ async def _update(self, updated_fields: dict, timeout_secs: int | None = None) -
timeout_secs=timeout_secs,
)

return parse_date_fields(pluck_data(jsonlib.loads(response.text)))
return parse_date_fields(pluck_data(response.json()))

async def _delete(self, timeout_secs: int | None = None) -> None:
try:
Expand Down
13 changes: 6 additions & 7 deletions src/apify_client/clients/base/resource_collection_client.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
from __future__ import annotations

import json as jsonlib
from typing import Any, Generic, TypeVar

from apify_client._utils import parse_date_fields, pluck_data
Expand Down Expand Up @@ -50,7 +49,7 @@ def _list(self, **kwargs: Any) -> ListPage:
params=self._params(**kwargs),
)

return ListPage(parse_date_fields(pluck_data(jsonlib.loads(response.text))))
return ListPage(parse_date_fields(pluck_data(response.json())))

def _create(self, resource: dict) -> dict:
response = self.http_client.call(
Expand All @@ -60,7 +59,7 @@ def _create(self, resource: dict) -> dict:
json=resource,
)

return parse_date_fields(pluck_data(jsonlib.loads(response.text)))
return parse_date_fields(pluck_data(response.json()))

def _get_or_create(self, name: str | None = None, resource: dict | None = None) -> dict:
response = self.http_client.call(
Expand All @@ -70,7 +69,7 @@ def _get_or_create(self, name: str | None = None, resource: dict | None = None)
json=resource,
)

return parse_date_fields(pluck_data(jsonlib.loads(response.text)))
return parse_date_fields(pluck_data(response.json()))


class ResourceCollectionClientAsync(BaseClientAsync):
Expand All @@ -83,7 +82,7 @@ async def _list(self, **kwargs: Any) -> ListPage:
params=self._params(**kwargs),
)

return ListPage(parse_date_fields(pluck_data(jsonlib.loads(response.text))))
return ListPage(parse_date_fields(pluck_data(response.json())))

async def _create(self, resource: dict) -> dict:
response = await self.http_client.call(
Expand All @@ -93,7 +92,7 @@ async def _create(self, resource: dict) -> dict:
json=resource,
)

return parse_date_fields(pluck_data(jsonlib.loads(response.text)))
return parse_date_fields(pluck_data(response.json()))

async def _get_or_create(
self,
Expand All @@ -107,4 +106,4 @@ async def _get_or_create(
json=resource,
)

return parse_date_fields(pluck_data(jsonlib.loads(response.text)))
return parse_date_fields(pluck_data(response.json()))
13 changes: 6 additions & 7 deletions src/apify_client/clients/resource_clients/actor.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
from __future__ import annotations

import json as jsonlib
from typing import TYPE_CHECKING, Any, Literal

from apify_client._utils import (
Expand Down Expand Up @@ -286,7 +285,7 @@ def start(
params=request_params,
)

return parse_date_fields(pluck_data(jsonlib.loads(response.text)))
return parse_date_fields(pluck_data(response.json()))

def call(
self,
Expand Down Expand Up @@ -404,7 +403,7 @@ def build(
params=request_params,
)

return parse_date_fields(pluck_data(jsonlib.loads(response.text)))
return parse_date_fields(pluck_data(response.json()))

def builds(self) -> BuildCollectionClient:
"""Retrieve a client for the builds of this Actor."""
Expand Down Expand Up @@ -435,7 +434,7 @@ async def default_build(
)

response = self.http_client.call(url=self._url('builds/default'), method='GET', params=request_params)
data = pluck_data(jsonlib.loads(response.text))
data = pluck_data(response.json())

return BuildClient(
base_url=self.base_url,
Expand Down Expand Up @@ -706,7 +705,7 @@ async def start(
params=request_params,
)

return parse_date_fields(pluck_data(jsonlib.loads(response.text)))
return parse_date_fields(pluck_data(response.json()))

async def call(
self,
Expand Down Expand Up @@ -828,7 +827,7 @@ async def build(
params=request_params,
)

return parse_date_fields(pluck_data(jsonlib.loads(response.text)))
return parse_date_fields(pluck_data(response.json()))

def builds(self) -> BuildCollectionClientAsync:
"""Retrieve a client for the builds of this Actor."""
Expand Down Expand Up @@ -863,7 +862,7 @@ async def default_build(
method='GET',
params=request_params,
)
data = pluck_data(jsonlib.loads(response.text))
data = pluck_data(response.json())

return BuildClientAsync(
base_url=self.base_url,
Expand Down
5 changes: 2 additions & 3 deletions src/apify_client/clients/resource_clients/build.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
from __future__ import annotations

import json as jsonlib
from typing import Any

from apify_client.clients.base import ActorJobBaseClient, ActorJobBaseClientAsync
Expand Down Expand Up @@ -54,7 +53,7 @@ def get_open_api_definition(self) -> dict | None:
method='GET',
)

response_data: dict = jsonlib.loads(response.text)
response_data: dict = response.json()

return response_data

Expand Down Expand Up @@ -130,7 +129,7 @@ async def get_open_api_definition(self) -> dict | None:
method='GET',
)

response_data: dict = jsonlib.loads(response.text)
response_data: dict = response.json()

return response_data

Expand Down
9 changes: 4 additions & 5 deletions src/apify_client/clients/resource_clients/dataset.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
from __future__ import annotations

import json as jsonlib
import warnings
from contextlib import asynccontextmanager, contextmanager
from typing import TYPE_CHECKING, Any
Expand Down Expand Up @@ -141,7 +140,7 @@ def list_items(
params=request_params,
)

data = jsonlib.loads(response.text)
data = response.json()

return ListPage(
{
Expand Down Expand Up @@ -559,7 +558,7 @@ def get_statistics(self) -> dict | None:
params=self._params(),
timeout_secs=_SMALL_TIMEOUT,
)
return pluck_data(jsonlib.loads(response.text))
return pluck_data(response.json())
except ApifyApiError as exc:
catch_not_found_or_throw(exc)

Expand Down Expand Up @@ -739,7 +738,7 @@ async def list_items(
params=request_params,
)

data = jsonlib.loads(response.text)
data = response.json()

return ListPage(
{
Expand Down Expand Up @@ -1066,7 +1065,7 @@ async def get_statistics(self) -> dict | None:
params=self._params(),
timeout_secs=_SMALL_TIMEOUT,
)
return pluck_data(jsonlib.loads(response.text))
return pluck_data(response.json())
except ApifyApiError as exc:
catch_not_found_or_throw(exc)

Expand Down
5 changes: 2 additions & 3 deletions src/apify_client/clients/resource_clients/key_value_store.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
from __future__ import annotations

import json as jsonlib
from contextlib import asynccontextmanager, contextmanager
from http import HTTPStatus
from typing import TYPE_CHECKING, Any
Expand Down Expand Up @@ -106,7 +105,7 @@ def list_keys(
timeout_secs=_MEDIUM_TIMEOUT,
)

return parse_date_fields(pluck_data(jsonlib.loads(response.text)))
return parse_date_fields(pluck_data(response.json()))

def get_record(self, key: str) -> dict | None:
"""Retrieve the given record from the key-value store.
Expand Down Expand Up @@ -424,7 +423,7 @@ async def list_keys(
timeout_secs=_MEDIUM_TIMEOUT,
)

return parse_date_fields(pluck_data(jsonlib.loads(response.text)))
return parse_date_fields(pluck_data(response.json()))

async def get_record(self, key: str) -> dict | None:
"""Retrieve the given record from the key-value store.
Expand Down
Loading
Loading