diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 45b33116dd7e29ac56477dddcd850b0dd4e00efb..57bca0892f4e9d2f06d2f48394a9600a1363a88b 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 589a28452076f6793200c528b80b7739a64ab423..43495dcd5be0b0cc81edceff96e7c05e548ef6b9 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 714d8ae3900abd5345a702617132e14a1ffb75f5..87160134264c7e5878abbb5b0e54277a129adff2 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") +"""