Squish: Improve Python2/Python3 compatibility

Change-Id: I49dc9ee2f4ef52900b403ed94f0c6cd5925239b6
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
This commit is contained in:
Christian Stenger
2021-08-11 13:40:30 +02:00
parent e9f53752ee
commit 0408b4a757
5 changed files with 21 additions and 13 deletions

View File

@@ -23,7 +23,10 @@
# #
############################################################################ ############################################################################
import __builtin__ try:
import __builtin__ # Python 2
except ImportError:
import builtins as __builtin__ # Python 3
# for easier re-usage (because Python hasn't an enum type) # for easier re-usage (because Python hasn't an enum type)
class Targets: class Targets:

View File

@@ -34,7 +34,10 @@ import subprocess;
import sys import sys
import errno; import errno;
from datetime import datetime,timedelta; from datetime import datetime,timedelta;
import __builtin__ try:
import __builtin__ # Python 2
except ImportError:
import builtins as __builtin__ # Python 3
srcPath = '' srcPath = ''
SettingsPath = [] SettingsPath = []
@@ -120,7 +123,7 @@ def waitForCleanShutdown(timeOut=10):
while not shutdownDone: while not shutdownDone:
try: try:
os.kill(appCtxt.pid,0) os.kill(appCtxt.pid,0)
except OSError, err: except OSError as err:
if err.errno == errno.EPERM or err.errno == errno.ESRCH: if err.errno == errno.EPERM or err.errno == errno.ESRCH:
shutdownDone=True shutdownDone=True
if not shutdownDone and datetime.utcnow() > endtime: if not shutdownDone and datetime.utcnow() > endtime:
@@ -208,7 +211,7 @@ def substituteCdb(settingsDir):
try: try:
serverIni = readFile(os.path.join(os.getenv("APPDATA"), "froglogic", serverIni = readFile(os.path.join(os.getenv("APPDATA"), "froglogic",
"Squish", "ver1", "server.ini")) "Squish", "ver1", "server.ini"))
autLine = filter(lambda line: "AUT/qtcreator" in line, serverIni.splitlines())[0] autLine = list(filter(lambda line: "AUT/qtcreator" in line, serverIni.splitlines()))[0]
autPath = autLine.split("\"")[1] autPath = autLine.split("\"")[1]
return os.path.exists(os.path.join(autPath, "..", "lib", "qtcreatorcdbext64")) return os.path.exists(os.path.join(autPath, "..", "lib", "qtcreatorcdbext64"))
except: except:

View File

@@ -23,8 +23,6 @@
# #
############################################################################ ############################################################################
import __builtin__
# appends to line, by typing <typeWhat> after <insertAfterLine> text into <codeArea> widget # appends to line, by typing <typeWhat> after <insertAfterLine> text into <codeArea> widget
def appendToLine(codeArea, insertAfterLine, typeWhat): def appendToLine(codeArea, insertAfterLine, typeWhat):
if not placeCursorToLine(codeArea, insertAfterLine): if not placeCursorToLine(codeArea, insertAfterLine):

View File

@@ -23,7 +23,10 @@
# #
############################################################################ ############################################################################
import urllib2 try:
from urllib2 import ProxyHandler, build_opener, install_opener, urlopen # Python 2
except ImportError:
from urllib.request import ProxyHandler, build_opener, install_opener, urlopen # Python 3
################ workarounds for issues tracked inside jira ################# ################ workarounds for issues tracked inside jira #################
@@ -43,7 +46,7 @@ class JIRA:
def __init__(self, number, bugType=Bug.CREATOR): def __init__(self, number, bugType=Bug.CREATOR):
if JIRA.__instance__ == None: if JIRA.__instance__ == None:
JIRA.__instance__ = JIRA.__impl(number, bugType) JIRA.__instance__ = JIRA.__impl(number, bugType)
JIRA.__dict__['_JIRA__instance__'] = JIRA.__instance__ setattr(JIRA, '__instance__', JIRA.__instance__)
else: else:
JIRA.__instance__._bugType = bugType JIRA.__instance__._bugType = bugType
JIRA.__instance__._number = number JIRA.__instance__._number = number
@@ -102,10 +105,10 @@ class JIRA:
proxy = os.getenv("SYSTEST_PROXY", None) proxy = os.getenv("SYSTEST_PROXY", None)
try: try:
if proxy: if proxy:
proxy = urllib2.ProxyHandler({'https': proxy}) proxy = ProxyHandler({'https': proxy})
opener = urllib2.build_opener(proxy) opener = build_opener(proxy)
urllib2.install_opener(opener) install_opener(opener)
bugReport = urllib2.urlopen('%s/%s' % (JIRA_URL, bug)) bugReport = urlopen('%s/%s' % (JIRA_URL, bug))
data = bugReport.read() data = bugReport.read()
except: except:
data = self.__tryExternalTools__(proxy) data = self.__tryExternalTools__(proxy)
@@ -118,6 +121,8 @@ class JIRA:
test.fatal("No resolution info for %s" % bug) test.fatal("No resolution info for %s" % bug)
self._resolution = 'Done' self._resolution = 'Done'
else: else:
if isinstance(data, (bytes)):
data = str(data)
data = data.replace("\r", "").replace("\n", "") data = data.replace("\r", "").replace("\n", "")
resPattern = re.compile('<span\s+id="resolution-val".*?>(?P<resolution>.*?)</span>') resPattern = re.compile('<span\s+id="resolution-val".*?>(?P<resolution>.*?)</span>')
resolution = resPattern.search(data) resolution = resPattern.search(data)

View File

@@ -24,7 +24,6 @@
############################################################################ ############################################################################
source("../../shared/qtcreator.py") source("../../shared/qtcreator.py")
import __builtin__
cppEditorStr = ":Qt Creator_CppEditor::Internal::CPPEditorWidget" cppEditorStr = ":Qt Creator_CppEditor::Internal::CPPEditorWidget"
originalSources = os.path.abspath(os.path.join(os.getcwd(), "..", "shared", "simplePlainCPP")) originalSources = os.path.abspath(os.path.join(os.getcwd(), "..", "shared", "simplePlainCPP"))