Skip to content
Draft
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,5 @@ venv/
.idea/
*.pyc
*.swp
.mypy_cache/
.mypy_cache/
*.db
33 changes: 33 additions & 0 deletions db.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import os

from sqlalchemy import create_engine, MetaData, Table, Column, Integer, String

SQLITE_DB_PATH = 'styles.db'
SQLITE_URL = f'sqlite:///{SQLITE_DB_PATH}'

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Better use combined DATABASE_URL and make it possible to override from os.environ (https://12factor.net/backing-services).



def sqlite_db_exists() -> bool:
return os.path.exists(SQLITE_DB_PATH)


def create_styles_db():
engine = create_engine(SQLITE_URL, echo=True)
meta = MetaData()

styles = Table(
'styles',
meta,
Column('id', Integer, primary_key=True),
Column('name', String),
Column('body', String),
)
meta.create_all(engine)
engine.execute(styles.insert().values(name='first', body='###{@}###'))
engine.execute(styles.insert().values(name='second', body='@@@{@}@@@'))


def init_styles_db():
if not sqlite_db_exists():
print(f'sqlite database {SQLITE_DB_PATH} not found. Initializing DB.')
create_styles_db()
return
6 changes: 5 additions & 1 deletion main
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,10 @@
Module for launching formater
"""
from cli import init_argparser
from db import init_styles_db


if __name__ == '__main__':
init_argparser()
init_styles_db()
init_argparser()

1 change: 1 addition & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
SQLAlchemy==1.3.12