diff --git a/avocado/utils/asset.py b/avocado/utils/asset.py index a378ae1a5c6dee3b304a6284ffdeb534452d5ba1..9da8b6be962063ba65f329d9e5e2f19a16fdb65f 100644 --- a/avocado/utils/asset.py +++ b/avocado/utils/asset.py @@ -25,7 +25,11 @@ import stat import sys import time import tempfile -import urlparse + +try: + import urlparse +except ImportError: + import urllib.parse as urlparse from . import crypto from . import path as utils_path diff --git a/avocado/utils/download.py b/avocado/utils/download.py index aff9c8ee721cf062accdb3dd2074681bede1a6ea..0b335f7fe0cba07fd06a283f71e2dbf0b845530a 100644 --- a/avocado/utils/download.py +++ b/avocado/utils/download.py @@ -21,7 +21,11 @@ import logging import os import socket import shutil -import urllib2 + +try: + from urllib2 import urlopen +except ImportError: + from urllib.request import urlopen from . import aurl from . import output @@ -44,7 +48,7 @@ def url_open(url, data=None, timeout=5): old_timeout = socket.getdefaulttimeout() socket.setdefaulttimeout(timeout) try: - return urllib2.urlopen(url, data=data) + return urlopen(url, data=data) finally: socket.setdefaulttimeout(old_timeout) @@ -87,7 +91,7 @@ def url_download_interactive(url, output_file, title='', chunk_size=102400): """ output_dir = os.path.dirname(output_file) output_file = open(output_file, 'w+b') - input_file = urllib2.urlopen(url) + input_file = urlopen(url) try: file_size = int(input_file.headers['Content-Length']) diff --git a/selftests/functional/test_thirdparty_bugs.py b/selftests/functional/test_thirdparty_bugs.py index acbccc1d36b81e65f8b9abbe10a36c724e318794..384ef6925441e27444b20e298d0cdb32ab231d96 100644 --- a/selftests/functional/test_thirdparty_bugs.py +++ b/selftests/functional/test_thirdparty_bugs.py @@ -1,6 +1,10 @@ import json import unittest -import urllib2 + +try: + from urllib2 import URLError +except ImportError: + from urllib.error import URLError from avocado.utils import download @@ -22,7 +26,7 @@ class TestThirdPartyBugs(unittest.TestCase): 'change the avocado.conf option ' '"reject_unknown_hosts" defaults to True.' % 'https://github.com/paramiko/paramiko/issues/243') - except urllib2.URLError as details: + except URLError as details: raise unittest.SkipTest(details)