diff options
Diffstat (limited to 'config/__init__.py')
-rw-r--r-- | config/__init__.py | 28 |
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 |