2012-08-28 18:44:51 +02:00
|
|
|
"""
|
2013-10-04 19:27:01 +02:00
|
|
|
WSGI config for zulip project.
|
2012-08-28 18:44:51 +02:00
|
|
|
|
|
|
|
This module contains the WSGI application used by Django's development server
|
|
|
|
and any production WSGI deployments. It should expose a module-level variable
|
|
|
|
named ``application``. Django's ``runserver`` and ``runfcgi`` commands discover
|
|
|
|
this application via the ``WSGI_APPLICATION`` setting.
|
|
|
|
|
|
|
|
Usually you will have the standard Django WSGI application here, but it also
|
|
|
|
might make sense to replace the whole Django WSGI application with a custom one
|
|
|
|
that later delegates to the Django one. For example, you could introduce WSGI
|
|
|
|
middleware here, or combine a Django application with an application of another
|
|
|
|
framework.
|
|
|
|
|
|
|
|
"""
|
|
|
|
import os
|
2016-06-25 17:07:13 +02:00
|
|
|
import sys
|
2018-08-08 21:28:43 +02:00
|
|
|
import types
|
2016-06-25 17:07:13 +02:00
|
|
|
|
2017-09-22 08:15:01 +02:00
|
|
|
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
2016-06-25 17:07:13 +02:00
|
|
|
sys.path.append(BASE_DIR)
|
|
|
|
import scripts.lib.setup_path_on_import
|
2012-08-28 18:44:51 +02:00
|
|
|
|
2018-08-08 21:28:43 +02:00
|
|
|
# Performance Hack: We make the pika.adapters.twisted_connection
|
|
|
|
# module unavailable, to save ~100ms of import time for most Zulip
|
|
|
|
# management commands for code we don't use. The correct
|
|
|
|
# long-term fix for this will be to get a setting integrated
|
|
|
|
# upstream to disable pika importing this.
|
|
|
|
# See https://github.com/pika/pika/issues/1128
|
|
|
|
sys.modules['pika.adapters.twisted_connection'] = types.ModuleType(
|
|
|
|
'pika.adapters.twisted_connection')
|
|
|
|
|
2013-08-06 22:51:47 +02:00
|
|
|
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "zproject.settings")
|
2016-11-23 13:36:09 +01:00
|
|
|
import django
|
2017-05-07 20:16:01 +02:00
|
|
|
django.setup() # We need to call setup to load applications.
|
2012-08-28 18:44:51 +02:00
|
|
|
|
2013-11-08 21:38:09 +01:00
|
|
|
# Because import_module does not correctly handle safe circular imports we
|
|
|
|
# need to import zerver.models first before the middleware tries to import it.
|
|
|
|
|
|
|
|
import zerver.models
|
|
|
|
|
2012-08-28 18:44:51 +02:00
|
|
|
# This application object is used by any WSGI server configured to use this
|
|
|
|
# file. This includes Django's development server, if the WSGI_APPLICATION
|
|
|
|
# setting points here.
|
|
|
|
from django.core.wsgi import get_wsgi_application
|
|
|
|
application = get_wsgi_application()
|