From de91c7de55a416fff305a4cb8abf8e8f67f452e8 Mon Sep 17 00:00:00 2001 From: Kenneth Reitz Date: Thu, 1 Mar 2018 13:37:00 -0500 Subject: [PATCH] v0.5.0 Signed-off-by: Kenneth Reitz --- dj_database_url.py | 9 ++++++--- setup.py | 4 ++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/dj_database_url.py b/dj_database_url.py index 6dc1fbb..32a4f6c 100644 --- a/dj_database_url.py +++ b/dj_database_url.py @@ -44,7 +44,7 @@ SCHEMES = { } -def config(env=DEFAULT_ENV, default=None, engine=None, conn_max_age=0): +def config(env=DEFAULT_ENV, default=None, engine=None, conn_max_age=0, ssl_require=False): """Returns configured DATABASE dictionary from DATABASE_URL.""" config = {} @@ -52,12 +52,12 @@ def config(env=DEFAULT_ENV, default=None, engine=None, conn_max_age=0): s = os.environ.get(env, default) if s: - config = parse(s, engine, conn_max_age) + config = parse(s, engine, conn_max_age, ssl_require) return config -def parse(url, engine=None, conn_max_age=0): +def parse(url, engine=None, conn_max_age=0, ssl_require=False): """Parses a database URL.""" if url == 'sqlite://:memory:': @@ -124,6 +124,9 @@ def parse(url, engine=None, conn_max_age=0): options[key] = values[-1] + if ssl_require: + options['sslmode'] = 'require' + # Support for Postgres Schema URLs if 'currentSchema' in options and engine in ( 'django.contrib.gis.db.backends.postgis', diff --git a/setup.py b/setup.py index 6d47526..e51d01a 100644 --- a/setup.py +++ b/setup.py @@ -37,7 +37,7 @@ Configure your database in ``settings.py`` from ``DATABASE_URL``:: import dj_database_url - DATABASES['default'] = dj_database_url.config(conn_max_age=600) + DATABASES['default'] = dj_database_url.config(conn_max_age=600, ssl_require=True) Provide a default:: @@ -59,7 +59,7 @@ from setuptools import setup setup( name='dj-database-url', - version='0.4.1', + version='0.5.0', url='https://github.com/kennethreitz/dj-database-url', license='BSD', author='Kenneth Reitz',