Асинхронный поиск по 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 дня сижу над этим кодом, не могу понять что не так


Ответы (0 шт):