didier/functions/database/memes.py

48 lines
1.1 KiB
Python

from attr import dataclass
from functions.database import utils
def insert(id, name, fields):
if getMeme(name) is not None:
return "Deze meme staat al in de database."
connection = utils.connect()
cursor = connection.cursor()
cursor.execute("INSERT INTO memes(id, name, fields) VALUES (%s, %s, %s)", [int(id), name.lower(), int(fields)])
connection.commit()
return "{} is toegevoegd aan de database.".format(name[0].upper() + name[1:].lower())
def getMeme(name):
connection = utils.connect()
cursor = connection.cursor()
cursor.execute("SELECT * FROM memes WHERE name like %s", ["%" + name.lower() + "%"])
result = cursor.fetchall()
if len(result) == 0:
return None
meme = Meme(result[0][0], result[0][1], result[0][2])
return meme
@dataclass
class Meme:
"""
Dataclass to represent a meme in order to avoid having to use [] on tuples all the time
"""
meme_id: int
name: str
fields: int
def getAllMemes():
connection = utils.connect()
cursor = connection.cursor()
cursor.execute("SELECT * FROM memes")
result = cursor.fetchall()
return result