summaryrefslogtreecommitdiff
path: root/config/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'config/__init__.py')
-rw-r--r--config/__init__.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/config/__init__.py b/config/__init__.py
new file mode 100644
index 0000000..b3819b8
--- /dev/null
+++ b/config/__init__.py
@@ -0,0 +1,28 @@
+import tomllib
+from sqlalchemy.exc import IntegrityError
+from src.database import db
+from src.database.models.blog import Blog
+
+with open('config.toml', 'rb') as config_file:
+ user_config = tomllib.load(config_file)
+
+def database_connection_string(app):
+ if app.debug:
+ return (f"mysql+pymysql://{user_config['Database']['user']}:"
+ f"{user_config['Database']['password']}@"
+ f"{user_config['Database']['host']}/dev_simple_comments")
+ else:
+ return (f"mysql+pymysql://{user_config['Database']['user']}:"
+ f"{user_config['Database']['password']}@"
+ f"{user_config['Database']['host']}/simple_comments")
+
+def initialize_blogs(app):
+ with app.app_context():
+ for domain in user_config['Blogs']['domains']:
+ blog = Blog(domain=domain)
+ db.session.add(blog)
+ try:
+ db.session.commit()
+ except IntegrityError:
+ db.session.rollback()
+ continue