Fix CI system to work on both Python 2 and 3 (#225)
* Use old style middleware settings for Python 2. * Make entrypoint python2 and 3 compatible. * Fix python command to test for mysql server. * Bettery docker-entrypoint to work with Python 2 & 3 * Add missing braces.
This commit is contained in:
@@ -16,7 +16,15 @@ function wait_for_postgres () {
|
|||||||
|
|
||||||
function wait_for_mysql () {
|
function wait_for_mysql () {
|
||||||
# Check if MySQL is up and accepting connections.
|
# Check if MySQL is up and accepting connections.
|
||||||
HOSTNAME=$(python -c "from urllib.parse import urlparse; o = urlparse('$DATABASE_URL'); print(o.hostname);")
|
HOSTNAME=$(python <<EOF
|
||||||
|
try:
|
||||||
|
from urllib.parse import urlparse
|
||||||
|
except ImportError:
|
||||||
|
from urlparse import urlparse
|
||||||
|
o = urlparse('$DATABASE_URL')
|
||||||
|
print(o.hostname)
|
||||||
|
EOF
|
||||||
|
)
|
||||||
until mysqladmin ping --host "$HOSTNAME" --silent; do
|
until mysqladmin ping --host "$HOSTNAME" --silent; do
|
||||||
>&2 echo "MySQL is unavailable - sleeping"
|
>&2 echo "MySQL is unavailable - sleeping"
|
||||||
sleep 1
|
sleep 1
|
||||||
|
|||||||
@@ -29,6 +29,7 @@ https://docs.djangoproject.com/en/1.8/ref/settings/
|
|||||||
import os
|
import os
|
||||||
import socket
|
import socket
|
||||||
import dj_database_url
|
import dj_database_url
|
||||||
|
import sys
|
||||||
|
|
||||||
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
|
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
|
||||||
|
|
||||||
@@ -99,8 +100,7 @@ INSTALLED_APPS = (
|
|||||||
'allauth.socialaccount.providers.google',
|
'allauth.socialaccount.providers.google',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
_MIDDLEWARE = (
|
||||||
MIDDLEWARE = (
|
|
||||||
'django.contrib.sessions.middleware.SessionMiddleware',
|
'django.contrib.sessions.middleware.SessionMiddleware',
|
||||||
'django.middleware.common.CommonMiddleware',
|
'django.middleware.common.CommonMiddleware',
|
||||||
'django.middleware.csrf.CsrfViewMiddleware',
|
'django.middleware.csrf.CsrfViewMiddleware',
|
||||||
@@ -114,6 +114,14 @@ MIDDLEWARE = (
|
|||||||
'postorius.middleware.PostoriusMiddleware',
|
'postorius.middleware.PostoriusMiddleware',
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Use old-style Middleware class in Python 2 and released versions of
|
||||||
|
# Django-mailman3 don't support new style middlewares.
|
||||||
|
|
||||||
|
if sys.version_info < (3, 0):
|
||||||
|
MIDDLEWARE_CLASSES = _MIDDLEWARE
|
||||||
|
else:
|
||||||
|
MIDDLEWARE = _MIDDLEWARE
|
||||||
|
|
||||||
ROOT_URLCONF = 'urls'
|
ROOT_URLCONF = 'urls'
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user