diff --git a/README.md b/README.md index 53118fd..90b06d8 100644 --- a/README.md +++ b/README.md @@ -16,19 +16,19 @@ Be lazier today! There is a special script to get started with the project. Just run it in the root of the project. ./first-setup.sh - + This will create a virtual environment, install the necessary dependencies and will give you the option to seed the database. -If you are using a database other then sqlite you will first need to configure the correct uri to the database in the generated 'config.py' file. -Afterwards upgrade the database to the latest version using +If you are using a database other then sqlite you will first need to configure the correct URI to the database in the generated 'config.py' file. +Afterwards upgrade the database to the latest version using cd app - python haldis.py db upgrade - + python3 app.py db upgrade + You can now still seed the database by running ./populate-db.sh - + in the root folder of the project. @@ -38,15 +38,15 @@ Activate the virtual environment using Finally run the webserver with - python app/haldis.py runserver - + python3 app/app.py runserver + ## Development ### Changing the database 1. Update models located in 'app/models.py' -2. Run `python app/haldis.py db migrate` to create a new migration. -3. Apply the changes to the database using `python app/haldis.py db upgrade` +2. Run `python app/app.py db migrate` to create a new migration. +3. Apply the changes to the database using `python app/app.py db upgrade` ### Adding dependencies/libraries @@ -61,4 +61,4 @@ For more information about managing the dependencies see [jazzband/pip-tools: A ## Authors -* **Feliciaan De Palmenaer** - *Initial work* - [Github](https://github.com/feliciaan) \ No newline at end of file +* **Feliciaan De Palmenaer** - *Initial work* - [Github](https://github.com/feliciaan) diff --git a/app/config.example.py b/app/config.example.py index 9f5ceca..48367fc 100644 --- a/app/config.example.py +++ b/app/config.example.py @@ -6,7 +6,7 @@ class Configuration(object): SQLALCHEMY_TRACK_MODIFICATIONS = False DEBUG = True SECRET_KEY = "" - SLACK_WEBHOOK = "" + SLACK_WEBHOOK = None LOGFILE = "haldis.log" ZEUS_KEY = "tomtest" ZEUS_SECRET = "blargh" diff --git a/app/notification.py b/app/notification.py index be20c3c..db13610 100644 --- a/app/notification.py +++ b/app/notification.py @@ -22,30 +22,29 @@ def post_order_to_webhook(order_item) -> None: remaining_minutes(order_item.stoptime), url_for("order_bp.order", id=order_item.id, _external=True), ) - webhookthread = WebhookSenderThread(message) + webhookthread = WebhookSenderThread(message, app.config["SLACK_WEBHOOK"]) webhookthread.start() class WebhookSenderThread(Thread): - def __init__(self, message: str) -> None: + def __init__(self, message: str, url: str) -> None: super(WebhookSenderThread, self).__init__() self.message = message + self.url = url def run(self) -> None: self.slack_webhook() def slack_webhook(self) -> None: - js = json.dumps({"text": self.message}) - url = app.config["SLACK_WEBHOOK"] - if len(url) > 0: - requests.post(url, data=js) + if self.url: + requests.post(url, json={"text": self.message}) else: - app.logger.info(str(js)) + print(self.message) def remaining_minutes(value) -> str: delta = value - datetime.now() if delta.total_seconds() < 0: return "0" - minutes, _ = divmod(delta.total_seconds(), 60) + minutes = delta.total_seconds() // 60 return "%02d" % minutes diff --git a/app/passenger_wsgi.py b/app/passenger_wsgi.py index 611b2e4..5e2534c 100644 --- a/app/passenger_wsgi.py +++ b/app/passenger_wsgi.py @@ -1,18 +1,16 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 import os import sys -from app import create_app - -INTERP = os.path.expanduser("~/env/bin/python") +INTERP = os.path.expanduser("~/env/bin/python3") if sys.executable != INTERP: os.execl(INTERP, INTERP, *sys.argv) sys.path.append(os.getcwd()) - -application = create_app() +from app import create_app +application = create_app().app # For running on the server with passenger etc if __name__ == "__main__": - application.run(port=8000) + application.run()