From b83dfb52ce3126e8e76ee2553aa22c90bb45fbd0 Mon Sep 17 00:00:00 2001 From: Sam Sandberg Date: Fri, 15 May 2015 12:32:15 -0400 Subject: [PATCH] Simplified the querystring parse logic Apparently I was targetting an older version of python 2.7 where urlparse worked differently --- dj_database_url.py | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/dj_database_url.py b/dj_database_url.py index 5005524..0ed232b 100644 --- a/dj_database_url.py +++ b/dj_database_url.py @@ -48,19 +48,6 @@ def config(env=DEFAULT_ENV, default=None, engine=None): return config -def _parse_querystring_for_options(path): - if '?' not in path: - return - query_string = path.split('?', 2)[1] - if not query_string: - return - qs = urlparse.parse_qs(query_string) - result = {} - for key, values in qs.iteritems(): - result[key] = values[-1] - return result - - def parse(url, engine=None): """Parses a database URL.""" @@ -102,7 +89,10 @@ def parse(url, engine=None): }) # Parse the query string into OPTIONS. - options = _parse_querystring_for_options(url.path) + qs = urlparse.parse_qs(url.query) + options = {} + for key, values in qs.iteritems(): + options[key] = values[-1] if options: config['OPTIONS'] = options