1import asyncio
2
3from glQiwiApi import QiwiWrapper
4
5# Кэширование по умолчанию отключено, так как
6# эта функция все ещё находиться в бета тестировании и
7# константа DEFAULT_CACHE_TIME = 0, чтобы это исправить и включить кэширование
8# нужно передать cache_time в конструктор класса QiwiWrapper
9# или YooMoneyAPI
10wallet = QiwiWrapper(
11 # Токен, полученный с https://qiwi.com/api
12 api_access_token='token',
13 # Номер вашего мобильного номера с "+"
14 phone_number='+phone_number',
15 # Время кэширование запроса в секундах(пока ещё в бета тестировании)
16 cache_time=5
17)
18
19
20async def cache_test():
21 async with wallet:
22 # Результат заноситься в кэш
23 print(await wallet.transactions(rows_num=50))
24 # Этот запрос возьмется из кэша
25 print(await wallet.transactions(rows_num=50))
26
27 # Запросы ниже не будут браться из кэша,
28 # причиной тому есть разница в параметрах запроса
29 # Результат все также заноситься в кэш
30 print(len(await wallet.transactions(rows_num=30)) == 30)
31 # Однако, повторный запрос к апи будет выполнен, поскольку
32 # при попытке взятие результата из кэша валидатор сравнивает
33 # параметры запроса, если они не совпадают, то
34 # кэш игнорируется
35 # Повторный запрос к апи
36 print(len(await wallet.transactions(rows_num=10)) == 10)
37
38
39asyncio.run(cache_test())