From 54851160ecf20d19af733eab62b13a0c093e6865 Mon Sep 17 00:00:00 2001 From: Alexey Leshchenko Date: Sun, 3 Mar 2024 08:34:45 +0300 Subject: [PATCH] Deprecate list_and_get() --- API.md | 2 ++ fast_bitrix24/user_request.py | 13 ++++++++----- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/API.md b/API.md index ba8164b..b6f42e1 100644 --- a/API.md +++ b/API.md @@ -71,6 +71,8 @@ contacts = b.get_by_ID( Обратите внимание, что метод `get_all()` не может быть использован в сочетнии с группой методов REST API, начинающихся с `task.elapseditem.*`. ### Метод `list_and_get(self, method_branch: str, ID_field_name='ID') -> dict` +>**!!! Метод устарел в связи с изменениями политики по ограничению скорости запросов Битрикса и будет удален в будущих версиях.** + Скачать список всех ID при помощи метода `method_branch + '.list'`, а затем значения всех полей всех элементов при помощи метода `method_branch + '.get'`. `method_branch` - группа методов, в которой есть подметоды `*.list` и `*.get`, например `crm.lead`. diff --git a/fast_bitrix24/user_request.py b/fast_bitrix24/user_request.py index 376b65c..9fe1915 100644 --- a/fast_bitrix24/user_request.py +++ b/fast_bitrix24/user_request.py @@ -2,11 +2,12 @@ import re import warnings from collections import ChainMap -from beartype.typing import Dict, Any, Iterable, Union -from beartype import beartype import icontract +from beartype import beartype +from beartype.typing import Any, Dict, Iterable, Union +from . import logger from .mult_request import ( MultipleServerRequestHandler, MultipleServerRequestHandlerPreserveIDs, @@ -210,7 +211,7 @@ def check_special_limitations(self): async def run(self) -> dict: self.prepare_item_list() - results = await MultipleServerRequestHandlerPreserveIDs( + return await MultipleServerRequestHandlerPreserveIDs( self.bitrix, self.method, self.item_list, @@ -218,8 +219,6 @@ async def run(self) -> dict: get_by_ID=True, ).run() - return results - def prepare_item_list(self): if self.params: self.item_list = [ @@ -306,6 +305,10 @@ def __init__(self, bitrix, method_branch: str, ID_field_name: str = "ID"): self.method_branch = method_branch self.ID_field_name = ID_field_name + logger.warning( + "list_and_get(): 'ListAndGetUserRequest' is deprecated. Use 'get_all()' instead." + ) + @icontract.require( lambda self: not re.search( r"(\.list|\.get)$", self.method_branch.strip().lower()