Skip to content

Commit b83da41

Browse files
committed
New client commit - use datetime fields
1 parent 1fa18a3 commit b83da41

File tree

7 files changed

+14
-21
lines changed

7 files changed

+14
-21
lines changed

src/apify/storage_clients/_apify/_dataset_client.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import asyncio
44
import warnings
5-
from datetime import datetime
65
from logging import getLogger
76
from typing import TYPE_CHECKING, Any
87

@@ -73,9 +72,9 @@ async def get_metadata(self) -> DatasetMetadata:
7372
return DatasetMetadata(
7473
id=metadata.id,
7574
name=metadata.name,
76-
created_at=datetime.fromisoformat(metadata.created_at.replace('Z', '+00:00')),
77-
modified_at=datetime.fromisoformat(metadata.modified_at.replace('Z', '+00:00')),
78-
accessed_at=datetime.fromisoformat(metadata.accessed_at.replace('Z', '+00:00')),
75+
created_at=metadata.created_at,
76+
modified_at=metadata.modified_at,
77+
accessed_at=metadata.accessed_at,
7978
item_count=int(metadata.item_count),
8079
)
8180

src/apify/storage_clients/_apify/_key_value_store_client.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import asyncio
44
import warnings
5-
from datetime import datetime
65
from logging import getLogger
76
from typing import TYPE_CHECKING, Any
87

@@ -62,9 +61,9 @@ async def get_metadata(self) -> ApifyKeyValueStoreMetadata:
6261
return ApifyKeyValueStoreMetadata(
6362
id=metadata.id,
6463
name=metadata.name,
65-
created_at=datetime.fromisoformat(metadata.created_at.replace('Z', '+00:00')),
66-
modified_at=datetime.fromisoformat(metadata.modified_at.replace('Z', '+00:00')),
67-
accessed_at=datetime.fromisoformat(metadata.accessed_at.replace('Z', '+00:00')),
64+
created_at=metadata.created_at,
65+
modified_at=metadata.modified_at,
66+
accessed_at=metadata.accessed_at,
6867
url_signing_secret_key=metadata.url_signing_secret_key,
6968
)
7069

src/apify/storage_clients/_apify/_request_queue_client.py

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
from __future__ import annotations
22

3-
from datetime import datetime
43
from logging import getLogger
54
from typing import TYPE_CHECKING, Final, Literal
65

@@ -86,9 +85,6 @@ async def get_metadata(self) -> ApifyRequestQueueMetadata:
8685
total_request_count = int(metadata.total_request_count)
8786
handled_request_count = int(metadata.handled_request_count)
8887
pending_request_count = int(metadata.pending_request_count)
89-
created_at = datetime.fromisoformat(metadata.created_at.replace('Z', '+00:00'))
90-
modified_at = datetime.fromisoformat(metadata.modified_at.replace('Z', '+00:00'))
91-
accessed_at = datetime.fromisoformat(metadata.accessed_at.replace('Z', '+00:00'))
9288

9389
# Enhance API response with local estimations to account for propagation delays (API data can be delayed
9490
# by a few seconds, while local estimates are immediately accurate).
@@ -98,9 +94,9 @@ async def get_metadata(self) -> ApifyRequestQueueMetadata:
9894
total_request_count=max(total_request_count, self._implementation.metadata.total_request_count),
9995
handled_request_count=max(handled_request_count, self._implementation.metadata.handled_request_count),
10096
pending_request_count=pending_request_count,
101-
created_at=min(created_at, self._implementation.metadata.created_at),
102-
modified_at=max(modified_at, self._implementation.metadata.modified_at),
103-
accessed_at=max(accessed_at, self._implementation.metadata.accessed_at),
97+
created_at=min(metadata.created_at, self._implementation.metadata.created_at),
98+
modified_at=max(metadata.modified_at, self._implementation.metadata.modified_at),
99+
accessed_at=max(metadata.accessed_at, self._implementation.metadata.accessed_at),
104100
had_multiple_clients=metadata.had_multiple_clients or self._implementation.metadata.had_multiple_clients,
105101
stats=RequestQueueStats.model_validate(
106102
metadata.stats.model_dump(by_alias=True) if metadata.stats else {},

src/apify/storage_clients/_apify/_request_queue_single_client.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -290,8 +290,7 @@ async def _list_head(self) -> None:
290290
# Should warn once? This might be outside expected context if the other consumers consumes at the same time
291291

292292
if response.queue_modified_at:
293-
modified_at = datetime.fromisoformat(response.queue_modified_at.replace('Z', '+00:00'))
294-
self.metadata.modified_at = max(self.metadata.modified_at, modified_at)
293+
self.metadata.modified_at = max(self.metadata.modified_at, response.queue_modified_at)
295294

296295
# Update the cached data
297296
for request_data in response.items:

tests/integration/actor/test_actor_api_helpers.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import json
55
from typing import TYPE_CHECKING
66

7-
from apify_client._models import ActorJobStatus, ActorPermissionLevel
7+
from apify_client._models import ActorPermissionLevel
88
from crawlee._utils.crypto import crypto_random_object_id
99

1010
from .._utils import generate_unique_resource_name
@@ -303,7 +303,7 @@ async def main_outer() -> None:
303303
inner_actor_run_dict = inner_actor_run.model_dump(by_alias=True)
304304
inner_actor_last_run = ActorRun.model_validate(inner_actor_run_dict)
305305

306-
assert inner_actor_last_run.status.value == ActorJobStatus.ABORTED
306+
assert inner_actor_last_run.status.value == 'ABORTED'
307307

308308
inner_output_record = await inner_actor.last_run().key_value_store().get_record('OUTPUT')
309309
assert inner_output_record is None

tests/unit/actor/test_actor_helpers.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ def fake_actor_run() -> Run:
2525
'actId': 'actor_id',
2626
'actorId': 'actor_id',
2727
'userId': 'user_id',
28-
'startedAt': '2024-08-08 12:12:44',
28+
'startedAt': '2024-08-08T12:12:44Z',
2929
'status': 'RUNNING',
3030
'meta': {'origin': 'API'},
3131
'containerUrl': 'http://0.0.0.0:3333',

uv.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)