From 6caf34f8704a01719573073d68e2c7e1005a4b8e Mon Sep 17 00:00:00 2001 From: Kyr Shatskyy Date: Thu, 14 Nov 2019 14:27:08 +0100 Subject: [PATCH] python3: add teuthology.util.compat module Signed-off-by: Kyr Shatskyy --- teuthology/lock/query.py | 6 +----- teuthology/misc.py | 8 +------- teuthology/packaging.py | 6 +----- teuthology/provision/cloud/openstack.py | 5 +---- .../provision/cloud/test/test_openstack.py | 6 +----- teuthology/task/kernel.py | 5 +---- teuthology/task/pcp.py | 6 +----- teuthology/test/task/test_pcp.py | 5 +---- teuthology/util/compat.py | 16 ++++++++++++++++ 9 files changed, 24 insertions(+), 39 deletions(-) create mode 100644 teuthology/util/compat.py diff --git a/teuthology/lock/query.py b/teuthology/lock/query.py index 99e5deafb..94ad8f58e 100644 --- a/teuthology/lock/query.py +++ b/teuthology/lock/query.py @@ -1,15 +1,11 @@ import logging import os -try: - from urllib.parse import urlencode -except ImportError: - from urllib import urlencode - import requests from teuthology import misc from teuthology.config import config +from teuthology.util.compat import urlencode log = logging.getLogger(__name__) diff --git a/teuthology/misc.py b/teuthology/misc.py index f7fba973c..1da124223 100644 --- a/teuthology/misc.py +++ b/teuthology/misc.py @@ -18,13 +18,7 @@ import json import re import pprint -try: - from urllib.parse import urljoin - from urllib.request import urlopen - from urllib.error import HTTPError -except ImportError: - from urlparse import urljoin - from urllib2 import urlopen, HTTPError +from teuthology.util.compat import urljoin, urlopen, HTTPError from netaddr.strategy.ipv4 import valid_str as _is_ipv4 from netaddr.strategy.ipv6 import valid_str as _is_ipv6 diff --git a/teuthology/packaging.py b/teuthology/packaging.py index 78e94338d..3230463eb 100644 --- a/teuthology/packaging.py +++ b/teuthology/packaging.py @@ -3,11 +3,7 @@ import ast import re import requests -try: - from urllib.parse import urljoin, urlencode -except ImportError: - from urlparse import urljoin - from urllib import urlencode +from teuthology.util.compat import urljoin, urlencode from collections import OrderedDict from cStringIO import StringIO diff --git a/teuthology/provision/cloud/openstack.py b/teuthology/provision/cloud/openstack.py index 5882d57ad..54dca73ab 100644 --- a/teuthology/provision/cloud/openstack.py +++ b/teuthology/provision/cloud/openstack.py @@ -5,10 +5,7 @@ import socket import time import yaml -try: - from urllib.parse import urlencode -except ImportError: - from urllib import urlencode +from teuthology.util.compat import urlencode from copy import deepcopy from libcloud.common.exceptions import RateLimitReachedError, BaseHTTPError diff --git a/teuthology/provision/cloud/test/test_openstack.py b/teuthology/provision/cloud/test/test_openstack.py index cc3f26c25..02a046cbe 100644 --- a/teuthology/provision/cloud/test/test_openstack.py +++ b/teuthology/provision/cloud/test/test_openstack.py @@ -2,11 +2,7 @@ import socket import yaml import os -try: - from urllib.parse import parse_qs -except ImportError: - from urlparse import parse_qs - +from teuthology.util.compat import parse_qs from copy import deepcopy from libcloud.compute.providers import get_driver diff --git a/teuthology/task/kernel.py b/teuthology/task/kernel.py index 833fcc079..3d497e1c9 100644 --- a/teuthology/task/kernel.py +++ b/teuthology/task/kernel.py @@ -8,10 +8,7 @@ import os import re import shlex -try: - from urllib.parse import urljoin -except ImportError: - from urlparse import urljoin +from teuthology.util.compat import urljoin from teuthology import misc as teuthology from teuthology.parallel import parallel diff --git a/teuthology/task/pcp.py b/teuthology/task/pcp.py index d016327f0..53dcd51f2 100644 --- a/teuthology/task/pcp.py +++ b/teuthology/task/pcp.py @@ -7,11 +7,7 @@ import os import requests import time -try: - from urllib.parse import urljoin, urlencode -except ImportError: - from urlparse import urljoin - from urllib import urlencode +from teuthology.util.compat import urljoin, urlencode from teuthology.config import config as teuth_config from teuthology.orchestra import run diff --git a/teuthology/test/task/test_pcp.py b/teuthology/test/task/test_pcp.py index 68b9093e2..c70e54453 100644 --- a/teuthology/test/task/test_pcp.py +++ b/teuthology/test/task/test_pcp.py @@ -1,10 +1,7 @@ import os import requests -try: - from urllib.parse import parse_qs, urljoin -except ImportError: - from urlparse import parse_qs, urljoin +from teuthology.util.compat import parse_qs, urljoin from mock import patch, DEFAULT, Mock, mock_open, call from pytest import raises diff --git a/teuthology/util/compat.py b/teuthology/util/compat.py new file mode 100644 index 000000000..fc654e3d6 --- /dev/null +++ b/teuthology/util/compat.py @@ -0,0 +1,16 @@ +import sys + +PY3 = False + +if sys.version_info >= (3, 0): + PY3 = True + +if PY3: + from urllib.parse import parse_qs, urljoin, urlparse, urlencode # noqa: F401 + from urllib.request import urlopen, Request # noqa: F401 + from urllib.error import HTTPError # noqa: F401 +else: + from urlparse import parse_qs, urljoin, urlparse # noqa: F401 + from urllib import urlencode # noqa: F401 + from urllib2 import urlopen, Request, HTTPError # noqa: F401 + -- 2.47.3