diff foodtruck/wsgiutil.py @ 597:79a31a3c947b

admin: Better production config for FoodTruck, provide proper first site. * Use a `settings` object to configure Flask. * Accept an `app.cfg` file in the admin folder to configure Flask. * Get a proper first site name when the cookie isn't set yet.
author Ludovic Chabant <ludovic@chabant.com>
date Wed, 20 Jan 2016 21:39:18 -0800
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/foodtruck/wsgiutil.py	Wed Jan 20 21:39:18 2016 -0800
@@ -0,0 +1,23 @@
+import logging
+
+
+logger = logging.getLogger()
+
+
+def get_wsgi_app(admin_root=None, log_file=None,
+                 max_log_bytes=4096, log_backup_count=0,
+                 log_level=logging.INFO):
+    if log_file:
+        from logging.handlers import RotatingFileHandler
+        handler = RotatingFileHandler(log_file, maxBytes=max_log_bytes,
+                                      backupCount=log_backup_count)
+        handler.setLevel(log_level)
+        logging.getLogger().addHandler(handler)
+
+    logger.debug("Creating WSGI application.")
+    if admin_root:
+        import foodtruck.settings
+        foodtruck.settings.FOODTRUCK_ROOT = admin_root
+    from foodtruck.web import app
+    return app
+