Асинхронный поиск по SQLite3 на Python
Написал код для асинхронного поиска по бд SQLite3 для тг бота. Сама функция get_data в классе BD_NameBase работает исправно, а дальше уже ошибка. Не понимаю в чём проблема.
import aiosqlite
import asyncio
phone = '79999999999'
class BD_NameBase:
async def __aenter__(self):
self.db = await aiosqlite.connect('BD_Name.db')
return self
async def __aexit__(self, *args):
await self.db.close()
async def get_data(self, phone):
cursor = await self.db.execute("SELECT * FROM TB_Name WHERE phone == ?", (phone,))
row = await cursor.fetchone()
return row
class GetData:
def __init__(self, phone):
self.phone = phone
self.cont = []
async def BD_Namerun(self):
async with BD_NameBase() as BD_Name:
data = await BD_Name.get_data(self.phone)
# if data:
# self.cont.append('\nBD_Name.CSV'
# '\n├ Телефон: {}'
# '\n├ ФИО: {}'.format(data[1], data[3]))
print(data)
return self.cont
asyncio.run(GetData('phone').BD_Namerun)
Ошибка:
Traceback (most recent call last):
File "d:\dictDB\test.py", line 36, in <module>
asyncio.run(GetData('phone').BD_Namerun)
File "C:\Users\Al\AppData\Local\Programs\Python\Python39\lib\asyncio\runners.py", line 37, in run
raise ValueError("a coroutine was expected, got {!r}".format(main))
ValueError: a coroutine was expected, got <bound method GetData.BD_Namerun of <__main__.GetData object at 0x0000027FEE97DFD0>>
3 дня сижу над этим кодом, не могу понять что не так