Switch to Asyncpg for db con

This commit is contained in:
Dustin Pianalto
2018-05-21 19:13:40 -08:00
parent 249e5d94eb
commit 47ca65da91
3 changed files with 34 additions and 9 deletions
View File
+22
View File
@@ -0,0 +1,22 @@
import asyncpg
import asyncio
class DatabaseConnection:
def __init__(self, host: str='localhost', port: int=5432, database: str='', username: str='', password: str=''):
if username == '' or password == '' or database == '':
raise RuntimeError('Username or Password are blank')
self.kwargs = {'host': host, 'port': port, 'database': database, 'username': username, 'password': password}
self._conn = asyncio.get_event_loop().run_until_complete(self.acquire())
self.fetchval = self._conn.fetchval
self.execute = self._conn.execute
self.fetchall = self._conn.fetchall
self.fetchone = self._conn.fetchone
async def acquire(self):
if not self._conn:
self._conn = await asyncpg.create_pool(**self.kwargs)
async def close(self):
await self._conn.close()
self._conn = None