fix: sqlite3.ProgrammingError

Recursive use of cursors not allowed.
This commit is contained in:
Abhi
2024-08-09 00:41:53 +05:30
parent 8de13ea715
commit 46a2d50947
2 changed files with 11 additions and 3 deletions

View File

@@ -34,6 +34,12 @@ async def upl(client: Client, message: Message):
await message.edit(format_exc(e))
@Client.on_message(filters.command("dlf", prefix) & filters.me)
async def dlf(client: Client, message: Message):
if message.reply_to_message.document:
await client.download_media(message.reply_to_message)
@Client.on_message(filters.command("moonlogs", prefix) & filters.me)
async def mupl(client: Client, message: Message):
link = "moonlogs.txt"

View File

@@ -129,7 +129,8 @@ class SqliteDatabase(Database):
self._lock.acquire()
try:
return self._cursor.execute(*args, **kwargs)
cursor = self._conn.cursor()
return cursor.execute(*args, **kwargs)
except sqlite3.OperationalError as e:
if str(e).startswith("no such table"):
sql = f"""
@@ -139,9 +140,10 @@ class SqliteDatabase(Database):
type TEXT NOT NULL
)
"""
self._cursor.execute(sql)
cursor = self._conn.cursor()
cursor.execute(sql)
self._conn.commit()
return self._cursor.execute(*args, **kwargs)
return cursor.execute(*args, **kwargs)
raise e from None
finally:
self._lock.release()