aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSerge Guelton <sguelton@quarkslab.com>2018-12-19 13:46:13 +0000
committerSerge Guelton <sguelton@quarkslab.com>2018-12-19 13:46:13 +0000
commitc177c3a5a998ae24199c773e4a37e841ebb61677 (patch)
treef266024d3d5c2e11a7778ac88b1a3b01af48ba0d
parente2a27b3f76f4249df786aa5b5fa0006a7f8c05a4 (diff)
Portable Python script across Python version
urllib2 as been renamed into urllib and the library layout has changed. Workaround that in a consistent manner. Differential Revision: https://reviews.llvm.org/D55199 llvm-svn: 349627
-rwxr-xr-xclang/docs/tools/dump_ast_matchers.py7
-rwxr-xr-xclang/docs/tools/dump_format_style.py1
-rwxr-xr-xclang/tools/scan-view/bin/scan-view8
-rw-r--r--clang/tools/scan-view/share/ScanView.py15
4 files changed, 20 insertions, 11 deletions
diff --git a/clang/docs/tools/dump_ast_matchers.py b/clang/docs/tools/dump_ast_matchers.py
index cae27b20a970..c96c1ca27acb 100755
--- a/clang/docs/tools/dump_ast_matchers.py
+++ b/clang/docs/tools/dump_ast_matchers.py
@@ -5,7 +5,10 @@
import collections
import re
-import urllib2
+try:
+ from urllib.request import urlopen
+except ImportError:
+ from urllib2 import urlopen
MATCHERS_FILE = '../../include/clang/ASTMatchers/ASTMatchers.h'
@@ -42,7 +45,7 @@ def esc(text):
if url not in doxygen_probes:
try:
print('Probing %s...' % url)
- urllib2.urlopen(url)
+ urlopen(url)
doxygen_probes[url] = True
except:
doxygen_probes[url] = False
diff --git a/clang/docs/tools/dump_format_style.py b/clang/docs/tools/dump_format_style.py
index f2682edc7773..5feb793a4d70 100755
--- a/clang/docs/tools/dump_format_style.py
+++ b/clang/docs/tools/dump_format_style.py
@@ -6,7 +6,6 @@
import collections
import os
import re
-import urllib2
CLANG_DIR = os.path.join(os.path.dirname(__file__), '../..')
FORMAT_STYLE_FILE = os.path.join(CLANG_DIR, 'include/clang/Format/Format.h')
diff --git a/clang/tools/scan-view/bin/scan-view b/clang/tools/scan-view/bin/scan-view
index e3abb1c8347d..6165432e7af8 100755
--- a/clang/tools/scan-view/bin/scan-view
+++ b/clang/tools/scan-view/bin/scan-view
@@ -11,7 +11,10 @@ import os
import posixpath
import threading
import time
-import urllib
+try:
+ from urllib.request import urlopen
+except ImportError:
+ from urllib2 import urlopen
import webbrowser
# How long to wait for server to start.
@@ -29,7 +32,7 @@ kMaxPortsToTry = 100
def url_is_up(url):
try:
- o = urllib.urlopen(url)
+ o = urlopen(url)
except IOError:
return False
o.close()
@@ -37,7 +40,6 @@ def url_is_up(url):
def start_browser(port, options):
- import urllib
import webbrowser
url = 'http://%s:%d' % (options.host, port)
diff --git a/clang/tools/scan-view/share/ScanView.py b/clang/tools/scan-view/share/ScanView.py
index b4227f4a28aa..da30f3618747 100644
--- a/clang/tools/scan-view/share/ScanView.py
+++ b/clang/tools/scan-view/share/ScanView.py
@@ -6,7 +6,12 @@ except ImportError:
from SimpleHTTPServer import SimpleHTTPRequestHandler
import os
import sys
-import urllib, urlparse
+try:
+ from urlparse import urlparse
+ from urllib import unquote
+except ImportError:
+ from urllib.parse import urlparse, unquote
+
import posixpath
import StringIO
import re
@@ -198,8 +203,8 @@ def parse_query(qs, fields=None):
value = ''
else:
name, value = chunk.split('=', 1)
- name = urllib.unquote(name.replace('+', ' '))
- value = urllib.unquote(value.replace('+', ' '))
+ name = unquote(name.replace('+', ' '))
+ value = unquote(value.replace('+', ' '))
item = fields.get(name)
if item is None:
fields[name] = [value]
@@ -654,9 +659,9 @@ File Bug</h3>
fields = {}
self.fields = fields
- o = urlparse.urlparse(self.path)
+ o = urlparse(self.path)
self.fields = parse_query(o.query, fields)
- path = posixpath.normpath(urllib.unquote(o.path))
+ path = posixpath.normpath(unquote(o.path))
# Split the components and strip the root prefix.
components = path.split('/')[1:]