Index: lnt/lnttool/viewcomparison.py =================================================================== --- lnt/lnttool/viewcomparison.py +++ lnt/lnttool/viewcomparison.py @@ -1,6 +1,8 @@ +from future import standard_library +standard_library.install_aliases() import click import time -import urllib +import urllib.request import webbrowser import sys @@ -10,7 +12,7 @@ def url_is_up(url): try: - o = urllib.urlopen(url) + o = urllib.request.urlopen(url) except IOError: return False o.close() Index: lnt/server/reporting/dailyreport.py =================================================================== --- lnt/server/reporting/dailyreport.py +++ lnt/server/reporting/dailyreport.py @@ -1,3 +1,5 @@ +from future import standard_library +standard_library.install_aliases() from lnt.server.reporting.analysis import REGRESSED, UNCHANGED_FAIL from lnt.server.reporting.report import RunResult, RunResults, report_css_styles, pairs, OrderAndHistory from lnt.util import multidict @@ -6,7 +8,7 @@ import lnt.server.ui.app import re import sqlalchemy.sql -import urllib +import urllib.parse class DailyReport(object): @@ -44,7 +46,7 @@ def get_query_parameters_string(self): query_params = [ "{}={}".format( - urllib.quote_plus(query_param), urllib.quote_plus(str(value))) + urllib.parse.quote_plus(query_param), urllib.parse.quote_plus(str(value))) for query_param, value in ( ("day_start", self.day_start_offset.seconds // 3600), ("num_days", self.num_prior_days_to_include), Index: lnt/server/ui/filters.py =================================================================== --- lnt/server/ui/filters.py +++ lnt/server/ui/filters.py @@ -1,7 +1,9 @@ +from future import standard_library +standard_library.install_aliases() import StringIO import datetime import pprint -import urllib +import urllib.parse import time from lnt.server.ui import util @@ -37,7 +39,7 @@ def filter_urlencode(args): - return urllib.urlencode(args) + return urllib.parse.urlencode(args) def filter_timedelta(start_time): Index: lnt/tests/nt.py =================================================================== --- lnt/tests/nt.py +++ lnt/tests/nt.py @@ -1,6 +1,8 @@ """LLVM test-suite compile and execution tests""" from __future__ import absolute_import from __future__ import print_function +from future import standard_library +standard_library.install_aliases() import csv import os import platform @@ -11,7 +13,7 @@ import glob import time import traceback -import urllib2 +import urllib.error import shlex import pipes import resource @@ -1775,7 +1777,7 @@ try: result = ServerUtil.submitFile(server, report_path, False, merge_run=merge_run) - except (urllib2.HTTPError, urllib2.URLError) as e: + except (urllib.error.HTTPError, urllib.error.URLError) as e: logger.warning("submitting to {} failed with {}" .format(server, e)) else: Index: lnt/util/ServerUtil.py =================================================================== --- lnt/util/ServerUtil.py +++ lnt/util/ServerUtil.py @@ -2,9 +2,12 @@ Utility for submitting files to a web server over HTTP. """ from __future__ import print_function +from future import standard_library +standard_library.install_aliases() import sys -import urllib -import urllib2 +import urllib.request +import urllib.parse +import urllib.error import contextlib import json @@ -39,13 +42,13 @@ if merge_run is not None: values['merge'] = merge_run headers = {'Accept': 'application/json'} - data = urllib.urlencode(values) + data = urllib.parse.urlencode(values).encode(encoding='ascii') try: - response = urllib2.urlopen(urllib2.Request(url, data, headers=headers)) - except urllib2.HTTPError as e: + response = urllib.request.urlopen(urllib.request.Request(url, data, headers=headers)) + except urllib.error.HTTPError as e: _show_json_error(e.read()) return - except urllib2.URLError as e: + except urllib.error.URLError as e: sys.stderr.write("error: could not resolve '%s': %s\n" % (url, e)) return