From de8d15a338cabedafc8460f21780d0a20486df69 Mon Sep 17 00:00:00 2001 From: Chad Whitacre Date: Thu, 18 Jun 2015 10:46:25 -0400 Subject: [PATCH 1/4] Implement aspen.serve Makes the quickstart quicker; closes #441. --- aspen/__init__.py | 14 +++++++++++++- aspen/__main__.py | 11 ++--------- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/aspen/__init__.py b/aspen/__init__.py index e3664dfea..8fd2aa590 100644 --- a/aspen/__init__.py +++ b/aspen/__init__.py @@ -70,9 +70,10 @@ from aspen.http.response import Response from aspen import json_ as json from aspen.logging import log, log_dammit +from aspen.website import Website # Shut up, PyFlakes. I know I'm addicted to you. -Response, json, is_callable, log, log_dammit +Response, json, is_callable, log, log_dammit, Website dist = pkg_resources.get_distribution('aspen') __version__ = dist.version @@ -92,3 +93,14 @@ RENDERERS.sort() + +def serve(website, host=None, port=None): + """Serve a website. + """ + import os + from wsgiref.simple_server import make_server + + port = int(os.environ.get('PORT', '8080')) + server = make_server('0.0.0.0', port, website) + log_dammit("Greetings, program! Welcome to port {0}.".format(port)) + server.serve_forever() diff --git a/aspen/__main__.py b/aspen/__main__.py index 5abbfe4f3..bab7292e0 100644 --- a/aspen/__main__.py +++ b/aspen/__main__.py @@ -21,15 +21,8 @@ from __future__ import print_function from __future__ import unicode_literals -import os -from aspen import log_dammit -from aspen.website import Website -from wsgiref.simple_server import make_server - +from aspen import serve, Website if __name__ == '__main__': website = Website() - port = int(os.environ.get('PORT', '8080')) - server = make_server('0.0.0.0', port, website) - log_dammit("Greetings, program! Welcome to port {0}.".format(port)) - server.serve_forever() + serve(website) From 1ee59a767af2ec138a846d61ae5e1ec32ebefedd Mon Sep 17 00:00:00 2001 From: Chad Whitacre Date: Thu, 18 Jun 2015 10:50:03 -0400 Subject: [PATCH 2/4] Fix up config layering --- aspen/__init__.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/aspen/__init__.py b/aspen/__init__.py index 8fd2aa590..94cab2274 100644 --- a/aspen/__init__.py +++ b/aspen/__init__.py @@ -94,13 +94,13 @@ RENDERERS.sort() -def serve(website, host=None, port=None): +def serve(website, host='0.0.0.0', port='8080'): """Serve a website. """ import os from wsgiref.simple_server import make_server - port = int(os.environ.get('PORT', '8080')) - server = make_server('0.0.0.0', port, website) - log_dammit("Greetings, program! Welcome to port {0}.".format(port)) + port = int(os.environ.get('PORT', port)) + server = make_server(host, port, website) + log_dammit("Greetings, program! Welcome to port http://{0}:{1}/.".format(host, port)) server.serve_forever() From 79d8fbf7709287eae1a039d62112d4ebd1018afc Mon Sep 17 00:00:00 2001 From: Chad Whitacre Date: Thu, 18 Jun 2015 11:10:00 -0400 Subject: [PATCH 3/4] Back out aspen.Website; see #446 --- aspen/__init__.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/aspen/__init__.py b/aspen/__init__.py index 94cab2274..a2f1670ba 100644 --- a/aspen/__init__.py +++ b/aspen/__init__.py @@ -70,10 +70,9 @@ from aspen.http.response import Response from aspen import json_ as json from aspen.logging import log, log_dammit -from aspen.website import Website # Shut up, PyFlakes. I know I'm addicted to you. -Response, json, is_callable, log, log_dammit, Website +Response, json, is_callable, log, log_dammit dist = pkg_resources.get_distribution('aspen') __version__ = dist.version From 9102f94a04131bd7ecad8f6d88db7dfae1fa6f24 Mon Sep 17 00:00:00 2001 From: Chad Whitacre Date: Thu, 18 Jun 2015 11:19:00 -0400 Subject: [PATCH 4/4] Clean up log message --- aspen/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/aspen/__init__.py b/aspen/__init__.py index a2f1670ba..4f788b64c 100644 --- a/aspen/__init__.py +++ b/aspen/__init__.py @@ -101,5 +101,5 @@ def serve(website, host='0.0.0.0', port='8080'): port = int(os.environ.get('PORT', port)) server = make_server(host, port, website) - log_dammit("Greetings, program! Welcome to port http://{0}:{1}/.".format(host, port)) + log_dammit("Greetings, program! Now serving on http://{0}:{1}/.".format(host, port)) server.serve_forever()