didier/functions/database/faq.py

61 lines
1.6 KiB
Python

from functions.database import utils
def getCategories():
connection = utils.connect()
cursor = connection.cursor()
cursor.execute(
"""SELECT name FROM faq_categories"""
)
return cursor.fetchall()
def addCategory(name):
connection = utils.connect()
cursor = connection.cursor()
cursor.execute(
"""INSERT INTO faq_categories(name) VALUES (%s)""", (name.lower(),)
)
connection.commit()
def addQuestion(category: str, question: str, answer: str, answer_markdown: str = None):
connection = utils.connect()
cursor = connection.cursor()
# Find the Id of this category
cursor.execute(
"""SELECT id FROM faq_categories WHERE name = %s""", (category.lower(),)
)
categoryId = cursor.fetchall()[0]
if not categoryId:
return
categoryId = categoryId[0]
# Check if a markdown string has to be added
if answer_markdown is None:
cursor.execute(
"""INSERT INTO faq_entries(category_id, question, answer) VALUES (%s, %s, E%s)""",
(categoryId, question, answer,)
)
else:
cursor.execute(
"""INSERT INTO faq_entries(category_id, question, answer, answer_markdown) VALUES (%s, %s, E%s, E%s)""", (categoryId, question, answer, answer_markdown)
)
connection.commit()
def getCategory(category):
connection = utils.connect()
cursor = connection.cursor()
cursor.execute(
"""SELECT *
FROM faq_entries INNER JOIN faq_categories fc on faq_entries.category_id = fc.id
WHERE %s = fc.name""",
(category.lower(),)
)
return cursor.fetchall()