moved config to a json, which makes adding more variables easier, but perhaps otherwise adds complexity

This commit is contained in:
Ville Rantanen
2023-07-28 13:08:54 +03:00
parent 80af9c321c
commit f1c453d3d4
18 changed files with 258 additions and 182 deletions

View File

@@ -1,4 +1,5 @@
import sqlite3
from db.config import Config
class DB:
@@ -6,16 +7,16 @@ class DB:
self.conn = conn
pass
def get_config(self):
return (
self._db()
.execute(
"""
select version, name, description, secret_key, captcha_key, registration_enabled, login_required from config
"""
)
.fetchone()
)
# ~ def get_config(self):
# ~ return (
# ~ self._db()
# ~ .execute(
# ~ """
# ~ select version, name, description, secret_key, captcha_key, registration_enabled, login_required from config
# ~ """
# ~ )
# ~ .fetchone()
# ~ )
def get_forums(self):
return self._db().execute(
@@ -48,7 +49,7 @@ class DB:
)
def get_thread_forum(self, thread_id):
""" Returns forum_id of a thread """
"""Returns forum_id of a thread"""
return (
self._db()
.execute(
@@ -104,7 +105,16 @@ class DB:
def get_thread(self, thread):
db = self._db()
title, text, author, author_id, create_time, modify_time, hidden, forum_id = db.execute(
(
title,
text,
author,
author_id,
create_time,
modify_time,
hidden,
forum_id,
) = db.execute(
"""
select title, text, name, author_id, create_time, modify_time, hidden, forum_id
from threads, users
@@ -139,7 +149,7 @@ class DB:
modify_time,
comments,
hidden,
forum_id
forum_id,
)
def get_thread_title(self, thread_id):
@@ -525,14 +535,16 @@ class DB:
Add a user if registrations are enabled.
"""
try:
config = Config(os.getenv("CONF"))
if not config.registration_enable:
return None
db = self._db()
c = db.cursor()
c.execute(
"""
insert into users(name, password, join_time)
select lower(?), ?, ?
from config
where registration_enabled = 1
values lower(?), ?, ?
""",
(username, password, time),
)
@@ -616,25 +628,25 @@ class DB:
)
db.commit()
def set_config(
self, server_name, server_description, registration_enabled, login_required
):
return self.change_one(
"""
update config
set name = ?, description = ?, registration_enabled = ?, login_required = ?
""",
(server_name, server_description, registration_enabled, login_required),
)
# ~ def set_config(
# ~ self, server_name, server_description, registration_enabled, login_required
# ~ ):
# ~ return self.change_one(
# ~ """
# ~ update config
# ~ set name = ?, description = ?, registration_enabled = ?, login_required = ?
# ~ """,
# ~ (server_name, server_description, registration_enabled, login_required),
# ~ )
def set_config_secrets(self, secret_key, captcha_key):
return self.change_one(
"""
update config
set secret_key = ?, captcha_key = ?
""",
(secret_key, captcha_key),
)
# ~ def set_config_secrets(self, secret_key, captcha_key):
# ~ return self.change_one(
# ~ """
# ~ update config
# ~ set secret_key = ?, captcha_key = ?
# ~ """,
# ~ (secret_key, captcha_key),
# ~ )
def set_user_ban(self, user_id, until):
return self.change_one(