From f820636e6ffd8b5306f045f641d9704ec1559d78 Mon Sep 17 00:00:00 2001 From: Ralph Bean Date: Mar 20 2018 00:24:56 +0000 Subject: Make urlparse import py2/py3 friendly. I noticed this when trying to run the greenwave functional tests tonight. greenwave tries to import both waiverdb and resultsdb to stand them up as text fixtures and it seems that (without this change) waiverdb is py3 only, while resultsdb is py2 only. --- diff --git a/waiverdb/app.py b/waiverdb/app.py index e932f03..f563b6b 100644 --- a/waiverdb/app.py +++ b/waiverdb/app.py @@ -1,7 +1,11 @@ # SPDX-License-Identifier: GPL-2.0+ import os -import urllib.parse + +try: + from urllib.parse import urlparse, urlunsplit +except ImportError: + from urlparse import urlparse, urlunsplit from flask import Flask from flask_migrate import Migrate @@ -41,13 +45,13 @@ def populate_db_config(app): # the SQLALCHEMY_DATABASE_URI setting which is obeyed by Flask-SQLAlchemy. dburi = app.config['DATABASE_URI'] if os.environ.get('DATABASE_PASSWORD'): - parsed = urllib.parse.urlparse(dburi) + parsed = urlparse(dburi) netloc = '{}:{}@{}'.format(parsed.username, os.environ['DATABASE_PASSWORD'], parsed.hostname) if parsed.port: netloc += ':{}'.format(parsed.port) - dburi = urllib.parse.urlunsplit( + dburi = urlunsplit( (parsed.scheme, netloc, parsed.path, parsed.query, parsed.fragment)) if app.config['SHOW_DB_URI']: app.logger.debug('using DBURI: %s', dburi)