summaryrefslogtreecommitdiff
path: root/ickapi/main.py
diff options
context:
space:
mode:
Diffstat (limited to 'ickapi/main.py')
-rw-r--r--ickapi/main.py38
1 files changed, 38 insertions, 0 deletions
diff --git a/ickapi/main.py b/ickapi/main.py
new file mode 100644
index 0000000..c40bf22
--- /dev/null
+++ b/ickapi/main.py
@@ -0,0 +1,38 @@
+"""Main module.
+
+A web server application that can be passed to gunicorn. Also works as
+standalone program (run from project root):
+
+ python ickapi/main.py --host 127.0.0.1 --port 8080
+"""
+
+import argparse
+import logging
+
+import aiohttp
+
+import ickapi
+
+DEFAULT_HOST = '127.0.0.1'
+DEFAULT_PORT = 8080
+
+app = ickapi.create_app()
+
+
+def main():
+ """Run a standalone development server."""
+ logging.basicConfig(level=logging.INFO)
+
+ parser = argparse.ArgumentParser()
+ parser.add_argument('--host', default=None)
+ parser.add_argument('--port', type=int, default=0)
+
+ args = parser.parse_args()
+ host = args.host or DEFAULT_HOST
+ port = args.port or DEFAULT_PORT
+
+ aiohttp.web.run_app(app, host=host, port=port)
+
+
+if __name__ == '__main__':
+ main()