diff --git a/service.py b/service.py old mode 100644 new mode 100755 index f776b10..7ea587c --- a/service.py +++ b/service.py @@ -8,6 +8,7 @@ import sys from logbook import Logger, StreamHandler +from wallabag_kindle_consumer import models from wallabag_kindle_consumer.config import Config from wallabag_kindle_consumer.consumer import Consumer from wallabag_kindle_consumer.interface import App @@ -26,6 +27,7 @@ def parse_args(): parser.add_argument("--refresher", help="Start token refresher", action="store_true") parser.add_argument("--interface", help="Start web interface", action="store_true") parser.add_argument("--consumer", help="Start article consumer", action="store_true") + parser.add_argument("--create_db", help="Try to create the db", action="store_true") return parser.parse_args() @@ -49,6 +51,10 @@ if __name__ == "__main__": if new is not None: config = new + if args.create_db: + models.create_db(config) + logger.info("Database created.") + wallabag = Wallabag(config) sender = Sender(loop, config.smtp_from, config.smtp_host, config.smtp_port, config.smtp_user, config.smtp_passwd) diff --git a/wallabag_kindle_consumer/models.py b/wallabag_kindle_consumer/models.py index 4e31b22..5aaa79c 100644 --- a/wallabag_kindle_consumer/models.py +++ b/wallabag_kindle_consumer/models.py @@ -55,6 +55,11 @@ def session_maker(config): return Session +def create_db(config): + engine = create_engine(config.db_uri) + Base.metadata.create_all(engine) + + def re_create_db(config): engine = create_engine(config.db_uri) Base.metadata.drop_all(engine)