From bfefd9fbc3356c290622f6b350dec0c4815e5ca6 Mon Sep 17 00:00:00 2001 From: Abhilash Raj Date: Wed, 7 Mar 2018 23:22:47 -0800 Subject: [PATCH] Update mailman-web to use Python 3 (For rolling releases) (#217) * Update mailman-web to use Python 3 * Update configuration * Python 3.6 image. * Use alpine 3.7 * Use new style middleware * Use alpine 3.6 * In Python 3, urlparse was renamed to urllib.parse --- .circleci/config.yml | 2 +- web/Dockerfile.dev | 2 +- web/docker-entrypoint.sh | 2 +- web/mailman-web/settings.py | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 90bcae3..d9fffb5 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -49,7 +49,7 @@ workflows: scheduled-workflow: triggers: - schedule: - cron: "@weekly" + cron: "0 0 * * *" filters: branches: only: master diff --git a/web/Dockerfile.dev b/web/Dockerfile.dev index ad8be8a..a0c9fa5 100644 --- a/web/Dockerfile.dev +++ b/web/Dockerfile.dev @@ -1,4 +1,4 @@ -FROM python:2.7-alpine3.6 +FROM python:3.6-alpine3.6 MAINTAINER Abhilash Raj diff --git a/web/docker-entrypoint.sh b/web/docker-entrypoint.sh index 3e26b85..3b8cd98 100755 --- a/web/docker-entrypoint.sh +++ b/web/docker-entrypoint.sh @@ -16,7 +16,7 @@ function wait_for_postgres () { function wait_for_mysql () { # Check if MySQL is up and accepting connections. - HOSTNAME=$(python -c "from urlparse import urlparse; o = urlparse('$DATABASE_URL'); print(o.hostname);") + HOSTNAME=$(python -c "from urllib.parse import urlparse; o = urlparse('$DATABASE_URL'); print(o.hostname);") until mysqladmin ping --host "$HOSTNAME" --silent; do >&2 echo "MySQL is unavailable - sleeping" sleep 1 diff --git a/web/mailman-web/settings.py b/web/mailman-web/settings.py index 9508589..cbeaaf6 100644 --- a/web/mailman-web/settings.py +++ b/web/mailman-web/settings.py @@ -100,7 +100,7 @@ INSTALLED_APPS = ( ) -MIDDLEWARE_CLASSES = ( +MIDDLEWARE = ( 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware',