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 99e5deafb5..94ad8f58e9 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 f7fba973cd..1da124223a 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 78e94338d5..3230463eb4 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 5882d57ad4..54dca73aba 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 cc3f26c256..02a046cbe2 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 833fcc0798..3d497e1c95 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 d016327f08..53dcd51f2a 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 68b9093e24..c70e544533 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 0000000000..fc654e3d69 --- /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.39.5