X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=run.py;fp=run.py;h=e0cdd8b8150dfbc0d8d54447a308ef79f6795037;hb=78d82605facbfd468584f7cc6e6f5515af4be8be;hp=d94905dc69bc97379567fb3f79d5f7288c7bbc57;hpb=934d0d4db064ba3cfdc9e826c55b67c75a383f3d;p=plomtask diff --git a/run.py b/run.py index d94905d..e0cdd8b 100755 --- a/run.py +++ b/run.py @@ -1,15 +1,30 @@ #!/usr/bin/env python3 """Call this to start the application.""" from sys import exit as sys_exit +from os import environ from plomtask.misc import HandledException from plomtask.http import TaskHandler, TaskServer +from plomtask.db import DatabaseFile +PATH_DB = environ.get('PATH_DB') HTTP_PORT = 8082 TEMPLATES_DIR = 'templates' +DB_CREATION_ASK = 'Database file not found. Create? Y/n\n' if __name__ == '__main__': try: + if not PATH_DB: + raise HandledException('PATH_DB not set.') + db_file = DatabaseFile(PATH_DB) + if not db_file.exists: + legal_yesses = {'y', 'yes', 'yes.', 'yes!'} + reply = input(DB_CREATION_ASK) + if reply.lower() in legal_yesses: + db_file.remake() + else: + print('Not recognizing reply as "yes".') + raise HandledException('Cannot run without database.') server = TaskServer(TEMPLATES_DIR, ('localhost', HTTP_PORT), TaskHandler) print(f'running at port {HTTP_PORT}') @@ -19,5 +34,5 @@ if __name__ == '__main__': print('aborting due to keyboard interrupt') server.server_close() except HandledException as e: - print(f'Aborting due to: {e}') + print(f'Aborting because: {e}') sys_exit(1)