From a987e4ae7d5536de2cfdd167efd69296706e714f Mon Sep 17 00:00:00 2001 From: robban64 <carl@schonfelder.se> Date: Thu, 27 May 2021 12:34:53 +0200 Subject: [PATCH] fix: populate is now done in main.py with argument populate --- .vscode/tasks.json | 2 +- server/main.py | 49 ++++++++++++++++++++++++++++------------------ server/populate.py | 2 ++ 3 files changed, 33 insertions(+), 20 deletions(-) diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 45b33116..57bca089 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -66,7 +66,7 @@ "label": "Populate database", "type": "shell", "group": "build", - "command": "env/Scripts/python populate.py", + "command": "env/Scripts/python main.py populate dev lite", "problemMatcher": [], "options": { "cwd": "${workspaceFolder}/server" diff --git a/server/main.py b/server/main.py index 589a2845..43495dcd 100644 --- a/server/main.py +++ b/server/main.py @@ -1,33 +1,44 @@ import sys -from app import create_app +from app import create_app, db +from populate import create_default_items """ Action-arg1: server(default), populate -Mode-arg2: dev(default), prod, test +Mode-arg2: dev(default), prod Database-arg3: lite(default), postgre """ + +def start_server(mode, database): + print(f"Starting server in {mode} mode with database {database}...") + app, sio = create_app(mode, database) + sio.run(app) + + +def populate_server(mode, database): + print(f"Populating server in {mode} mode with database {database}...") + app, _ = create_app(mode, database) + + with app.app_context(): + db.drop_all() + db.create_all() + create_default_items() + + print("Task populate done") + + if __name__ == "__main__": argv = sys.argv - # action = argv[1] if len(argv) > 1 else "server" - mode = argv[1] if len(argv) > 1 else "dev" - # database = argv[3] if len(argv) > 3 else "lite" - - # if mode == "prod": - # database = "postgre" + action = argv[1] if len(argv) > 1 else "server" + mode = argv[2] if len(argv) > 2 else "dev" + database = argv[3] if len(argv) > 3 else "lite" - if mode == "dev" or mode == "test": - database = argv[2] if len(argv) > 2 else "lite" - elif mode == "prod": + if mode == "prod": database = "postgre" - else: - print("Invalid args") - print("Dev args: no args, 'dev lite' or 'dev postgre'") - print("Prod args: 'prod'\n") - sys.exit(-1) - print(f"Starting server in {mode} mode with database {database}...") - app, sio = create_app(mode, database) - sio.run(app) + if action == "server": + start_server(mode, database) + elif action == "populate": + populate_server(mode, database) diff --git a/server/populate.py b/server/populate.py index 714d8ae3..87160134 100644 --- a/server/populate.py +++ b/server/populate.py @@ -144,6 +144,7 @@ def create_default_items(): # dbc.add.question_answer("ett svar som ger 3p", 3, 1, 3) +""" if __name__ == "__main__": argv = sys.argv @@ -169,3 +170,4 @@ if __name__ == "__main__": create_default_items() print("Task populating done") +""" -- GitLab