/
pyadminru
/
QuickRestoPy
Обзор
Документация
Войти
/
pyadminru
/
QuickRestoPy
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
core/get_all_clients.py
56 строк
2 KB
PyRusAdmin
Структурирование проекта. Формирование главного меню проекта.
27 мар 2026, 18:10
27 мар 2026, 18:10
3bb0400
Код
Авторство
О чём код?
# -*- coding: utf-8 -*- import requests def get_all_clients(base_url, auth, headers): """Получает данные о всех клиентах""" all_clients = [] limit = 500 offset = 0 print("🚀 Начинаю загрузку всех клиентов...") while True: url = f"{base_url}/list" query_params = { "moduleName": "crm.customer", "className": "ru.edgex.quickresto.modules.crm.customer.CrmCustomer" } payload = { "limit": limit, "offset": offset } try: response = requests.get( url, params=query_params, json=payload, auth=auth, headers=headers, timeout=30 ) response.raise_for_status() batch = response.json() if not batch: # Если сервер вернул пустой список, значит мы дошли до конца break all_clients.extend(batch) print(f"📥 Загружено: {len(all_clients)}...") # Увеличиваем offset для следующей "страницы" offset += limit # Если вернулось меньше, чем мы просили, значит это была последняя страница if len(batch) < limit: break except Exception as e: print(f"❌ Ошибка на смещении {offset}: {e}") break return all_clients