From 1134f9061230a7e2f886d57819cd0e68521ecf0c Mon Sep 17 00:00:00 2001 From: martinforejt Date: Wed, 23 Oct 2024 14:05:41 +0200 Subject: [PATCH 1/2] feat: add user.update_limits --- .../clients/resource_clients/user.py | 39 ++++++++++++++++++- 1 file changed, 38 insertions(+), 1 deletion(-) diff --git a/src/apify_client/clients/resource_clients/user.py b/src/apify_client/clients/resource_clients/user.py index 49db0746..35cdac2f 100644 --- a/src/apify_client/clients/resource_clients/user.py +++ b/src/apify_client/clients/resource_clients/user.py @@ -2,7 +2,7 @@ from typing import Any -from apify_shared.utils import ignore_docs, parse_date_fields +from apify_shared.utils import ignore_docs, parse_date_fields, filter_out_none_values_recursively from apify_client._errors import ApifyApiError from apify_client._utils import catch_not_found_or_throw, pluck_data @@ -82,6 +82,24 @@ def limits(self: UserClient) -> dict | None: return None + def update_limits( + self: UserClient, + *, + max_monthly_usage_usd: int | None = None, + data_retention_days: int | None = None, + ) -> None: + """ + Updates the account's limits manageable on your account's Limits page. + """ + self.http_client.call( + url=self._url('limits'), + method='PUT', + params=self._params(), + json=filter_out_none_values_recursively({ + 'maxMonthlyUsageUsd': max_monthly_usage_usd, + 'dataRetentionDays': data_retention_days, + }), + ) class UserClientAsync(ResourceClientAsync): """Async sub-client for querying user data.""" @@ -155,3 +173,22 @@ async def limits(self: UserClientAsync) -> dict | None: catch_not_found_or_throw(exc) return None + + async def update_limits( + self: UserClientAsync, + *, + max_monthly_usage_usd: int | None = None, + data_retention_days: int | None = None, + ) -> None: + """ + Updates the account's limits manageable on your account's Limits page. + """ + await self.http_client.call( + url=self._url('limits'), + method='PUT', + params=self._params(), + json=filter_out_none_values_recursively({ + 'maxMonthlyUsageUsd': max_monthly_usage_usd, + 'dataRetentionDays': data_retention_days, + }), + ) From 2b958f640b3ddbf1e2ea11088d70d0f5dcb6f3ab Mon Sep 17 00:00:00 2001 From: martinforejt Date: Wed, 23 Oct 2024 14:13:02 +0200 Subject: [PATCH 2/2] fix lints --- .../clients/resource_clients/user.py | 31 ++++++++++--------- 1 file changed, 16 insertions(+), 15 deletions(-) diff --git a/src/apify_client/clients/resource_clients/user.py b/src/apify_client/clients/resource_clients/user.py index 35cdac2f..6a28db6c 100644 --- a/src/apify_client/clients/resource_clients/user.py +++ b/src/apify_client/clients/resource_clients/user.py @@ -2,7 +2,7 @@ from typing import Any -from apify_shared.utils import ignore_docs, parse_date_fields, filter_out_none_values_recursively +from apify_shared.utils import filter_out_none_values_recursively, ignore_docs, parse_date_fields from apify_client._errors import ApifyApiError from apify_client._utils import catch_not_found_or_throw, pluck_data @@ -88,19 +88,20 @@ def update_limits( max_monthly_usage_usd: int | None = None, data_retention_days: int | None = None, ) -> None: - """ - Updates the account's limits manageable on your account's Limits page. - """ + """Updates the account's limits manageable on your account's Limits page.""" self.http_client.call( url=self._url('limits'), method='PUT', params=self._params(), - json=filter_out_none_values_recursively({ - 'maxMonthlyUsageUsd': max_monthly_usage_usd, - 'dataRetentionDays': data_retention_days, - }), + json=filter_out_none_values_recursively( + { + 'maxMonthlyUsageUsd': max_monthly_usage_usd, + 'dataRetentionDays': data_retention_days, + } + ), ) + class UserClientAsync(ResourceClientAsync): """Async sub-client for querying user data.""" @@ -180,15 +181,15 @@ async def update_limits( max_monthly_usage_usd: int | None = None, data_retention_days: int | None = None, ) -> None: - """ - Updates the account's limits manageable on your account's Limits page. - """ + """Updates the account's limits manageable on your account's Limits page.""" await self.http_client.call( url=self._url('limits'), method='PUT', params=self._params(), - json=filter_out_none_values_recursively({ - 'maxMonthlyUsageUsd': max_monthly_usage_usd, - 'dataRetentionDays': data_retention_days, - }), + json=filter_out_none_values_recursively( + { + 'maxMonthlyUsageUsd': max_monthly_usage_usd, + 'dataRetentionDays': data_retention_days, + } + ), )