mirror of
https://github.com/nichkara/InfinitumBotty.git
synced 2026-06-10 22:26:23 +02:00
Initalize repo
This commit is contained in:
36
FaustBot/Model/Introduction.py
Normal file
36
FaustBot/Model/Introduction.py
Normal file
@@ -0,0 +1,36 @@
|
||||
import sqlite3
|
||||
|
||||
|
||||
class IntroductionProvider(object):
|
||||
_CREATE_TABLE = 'CREATE TABLE IF NOT EXISTS introduction (id INTEGER PRIMARY KEY, \
|
||||
user TEXT, intro TEXT)'
|
||||
_GET_INTRO = 'SELECT id, intro FROM introduction WHERE user = ?'
|
||||
_SAVE_OR_OVERWRITE = 'REPLACE INTO introduction (id, user, intro) VALUES (?, ?, ?)'
|
||||
_DELETE_INTRO = 'DELETE FROM introduction WHERE user = ?'
|
||||
|
||||
def __init__(self):
|
||||
self._database_connection = sqlite3.connect('faust_bot.db')
|
||||
cursor = self._database_connection.cursor()
|
||||
cursor.execute(IntroductionProvider._CREATE_TABLE)
|
||||
self._database_connection.commit()
|
||||
|
||||
def get_intro(self, user: str):
|
||||
cursor = self._database_connection.cursor()
|
||||
cursor.execute(IntroductionProvider._GET_INTRO, (user.lower(),))
|
||||
return cursor.fetchone()
|
||||
|
||||
def save_or_replace(self, user: str, intro: str):
|
||||
existing = self.get_intro(user)
|
||||
_id = existing[0] if existing is not None else None
|
||||
data = (_id, user.lower(), intro)
|
||||
cursor = self._database_connection.cursor()
|
||||
cursor.execute(IntroductionProvider._SAVE_OR_OVERWRITE, data)
|
||||
self._database_connection.commit()
|
||||
|
||||
def delete_intro(self, user: str):
|
||||
cursor = self._database_connection.cursor()
|
||||
cursor.execute(IntroductionProvider._DELETE_INTRO, (user.lower(),))
|
||||
self._database_connection.commit()
|
||||
|
||||
def __exit__(self):
|
||||
self._database_connection.close()
|
||||
Reference in New Issue
Block a user