From 002006b17708377a008ccd1f0bcd47e064b52616 Mon Sep 17 00:00:00 2001 From: Fotis Gimian Date: Sun, 10 May 2015 16:06:43 +1000 Subject: [PATCH 1/2] Corrected dev script to correctly use user-provided settings --- dev.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dev.py b/dev.py index 0bce7aa..9d3b66f 100644 --- a/dev.py +++ b/dev.py @@ -12,4 +12,4 @@ from puppetboard.default_settings import DEV_LISTEN_HOST, DEV_LISTEN_PORT if __name__ == '__main__': app.debug = True - app.run(DEV_LISTEN_HOST, DEV_LISTEN_PORT) + app.run(app.config['DEV_LISTEN_HOST'], app.config['DEV_LISTEN_PORT']) From 97e0fb0015f2c7746cc3a7ca8166cecfd5e693ff Mon Sep 17 00:00:00 2001 From: Fotis Gimian Date: Sun, 10 May 2015 17:17:19 +1000 Subject: [PATCH 2/2] The dev.py script will now also start coffee in watch mode to automatically compile coffee files during development --- dev.py | 19 ++++++++++++++++++- puppetboard/default_settings.py | 1 + 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/dev.py b/dev.py index 9d3b66f..fb9b184 100644 --- a/dev.py +++ b/dev.py @@ -1,6 +1,7 @@ from __future__ import unicode_literals from __future__ import absolute_import import os +import subprocess if 'PUPPETBOARD_SETTINGS' not in os.environ: os.environ['PUPPETBOARD_SETTINGS'] = os.path.join( @@ -8,8 +9,24 @@ if 'PUPPETBOARD_SETTINGS' not in os.environ: ) from puppetboard.app import app -from puppetboard.default_settings import DEV_LISTEN_HOST, DEV_LISTEN_PORT if __name__ == '__main__': + # Start CoffeeScript to automatically compile our coffee source. + # We must be careful to only start this in the parent process as + # WERKZEUG will create a secondary process when using the reloader. + if os.environ.get('WERKZEUG_RUN_MAIN') is None: + try: + subprocess.Popen([ + app.config['DEV_COFFEE_LOCATION'], '-w', '-c', + '-o', 'puppetboard/static/js', + 'puppetboard/static/coffeescript' + ]) + except OSError: + app.logger.error( + 'The coffee executable was not found, disabling automatic ' + 'CoffeeScript compilation' + ) + + # Start the Flask development server app.debug = True app.run(app.config['DEV_LISTEN_HOST'], app.config['DEV_LISTEN_PORT']) diff --git a/puppetboard/default_settings.py b/puppetboard/default_settings.py index 534602e..d74ac3f 100644 --- a/puppetboard/default_settings.py +++ b/puppetboard/default_settings.py @@ -6,6 +6,7 @@ PUPPETDB_CERT = None PUPPETDB_TIMEOUT = 20 DEV_LISTEN_HOST = '127.0.0.1' DEV_LISTEN_PORT = 5000 +DEV_COFFEE_LOCATION = 'coffee' UNRESPONSIVE_HOURS = 2 ENABLE_QUERY = True LOCALISE_TIMESTAMP = True