Skip to content

Commit b34f97c

Browse files
committed
VkTools.get_all: добавлен аргумент limit_count для ограничения кол-ва
полученных элементов
1 parent 468d758 commit b34f97c

1 file changed

Lines changed: 5 additions & 2 deletions

File tree

vk_api/vk_tools.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ def __init__(self, vk):
2424

2525
self.vk = vk
2626

27-
def get_all(self, method, values=None, max_count=200, key='items'):
27+
def get_all(self, method, values=None, max_count=200, key='items',
28+
limit_count=None):
2829
""" Получить все элементы
2930
Работает в методах, где в ответе есть items или users
3031
За один запрос получает max_count * 25 элементов
@@ -34,6 +35,8 @@ def get_all(self, method, values=None, max_count=200, key='items'):
3435
:param max_count: максимальное количество элементов,
3536
которое можно получить за один раз
3637
:param key: ключ элементов, которые нужно получить
38+
:param limit_count: ограничение на кол-во получаемых элементов,
39+
но может прийти больше
3740
"""
3841

3942
if values:
@@ -53,7 +56,7 @@ def get_all(self, method, values=None, max_count=200, key='items'):
5356

5457
items += response['items']
5558

56-
if response['end']:
59+
if response['end'] or len(items) >= limit_count:
5760
break
5861

5962
offset = response['offset']

0 commit comments

Comments
 (0)