summaryrefslogtreecommitdiff
path: root/config/__init__.py
blob: b3819b8734db8146ec13a510e83563233ae08e2a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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