mirror of
https://github.com/mongodb/mongo.git
synced 2024-12-01 09:32:32 +01:00
SERVER-27462 Remove Python 2.6 compatibility code from scripts in buildscripts/ directory
This commit is contained in:
parent
4bda560cd9
commit
7ca96b371e
@ -101,23 +101,7 @@ auth_handler.add_password(
|
||||
user=username,
|
||||
passwd=password)
|
||||
|
||||
# This version of HTTPErrorProcessor is copied from
|
||||
# Python 2.7, and allows REST response codes (e.g.
|
||||
# "201 Created") which are treated as errors by
|
||||
# older versions.
|
||||
class HTTPErrorProcessor(urllib2.HTTPErrorProcessor):
|
||||
def http_response(self, request, response):
|
||||
code, msg, hdrs = response.code, response.msg, response.info()
|
||||
|
||||
# According to RFC 2616, "2xx" code indicates that the client's
|
||||
# request was successfully received, understood, and accepted.
|
||||
if not (200 <= code < 300):
|
||||
response = self.parent.error(
|
||||
'http', request, response, code, msg, hdrs)
|
||||
|
||||
return response
|
||||
|
||||
url_opener = urllib2.build_opener(auth_handler, HTTPErrorProcessor())
|
||||
url_opener = urllib2.build_opener(auth_handler, urllib2.HTTPErrorProcessor())
|
||||
|
||||
def url(endpoint):
|
||||
if not endpoint.endswith('/'):
|
||||
|
@ -79,61 +79,10 @@ def parse_command_line():
|
||||
return parser.parse_args()
|
||||
|
||||
|
||||
# Copied from python 2.7 version of subprocess.py
|
||||
# Exception classes used by this module.
|
||||
class CalledProcessError(Exception):
|
||||
"""This exception is raised when a process run by check_call() or
|
||||
check_output() returns a non-zero exit status.
|
||||
The exit status will be stored in the returncode attribute;
|
||||
check_output() will also store the output in the output attribute.
|
||||
"""
|
||||
def __init__(self, returncode, cmd, output=None):
|
||||
self.returncode = returncode
|
||||
self.cmd = cmd
|
||||
self.output = output
|
||||
def __str__(self):
|
||||
return ("Command '%s' returned non-zero exit status %d with output %s" %
|
||||
(self.cmd, self.returncode, self.output))
|
||||
|
||||
|
||||
# Copied from python 2.7 version of subprocess.py
|
||||
def check_output(*popenargs, **kwargs):
|
||||
"""Run command with arguments and return its output as a byte string.
|
||||
|
||||
If the exit code was non-zero it raises a CalledProcessError. The
|
||||
CalledProcessError object will have the return code in the returncode
|
||||
attribute and output in the output attribute.
|
||||
|
||||
The arguments are the same as for the Popen constructor. Example:
|
||||
|
||||
>>> check_output(["ls", "-l", "/dev/null"])
|
||||
'crw-rw-rw- 1 root root 1, 3 Oct 18 2007 /dev/null\n'
|
||||
|
||||
The stdout argument is not allowed as it is used internally.
|
||||
To capture standard error in the result, use stderr=STDOUT.
|
||||
|
||||
>>> check_output(["/bin/sh", "-c",
|
||||
... "ls -l non_existent_file ; exit 0"],
|
||||
.. stderr=STDOUT)
|
||||
'ls: non_existent_file: No such file or directory\n'
|
||||
"""
|
||||
if 'stdout' in kwargs:
|
||||
raise ValueError('stdout argument not allowed, it will be overridden.')
|
||||
process = subprocess.Popen(stdout=subprocess.PIPE, *popenargs, **kwargs)
|
||||
output, unused_err = process.communicate()
|
||||
retcode = process.poll()
|
||||
if retcode:
|
||||
cmd = kwargs.get("args")
|
||||
if cmd is None:
|
||||
cmd = popenargs[0]
|
||||
raise CalledProcessError(retcode, cmd, output)
|
||||
return output
|
||||
|
||||
|
||||
def callo(args):
|
||||
"""Call a program, and capture its output
|
||||
"""
|
||||
return check_output(args)
|
||||
return subprocess.check_output(args)
|
||||
|
||||
|
||||
def read_evg_config():
|
||||
|
@ -62,61 +62,10 @@ CLANG_FORMAT_SOURCE_TAR_BASE = string.Template("clang+llvm-$version-$tar_path/bi
|
||||
MODULE_DIR = "src/mongo/db/modules"
|
||||
|
||||
##############################################################################
|
||||
|
||||
# Copied from python 2.7 version of subprocess.py
|
||||
# Exception classes used by this module.
|
||||
class CalledProcessError(Exception):
|
||||
"""This exception is raised when a process run by check_call() or
|
||||
check_output() returns a non-zero exit status.
|
||||
The exit status will be stored in the returncode attribute;
|
||||
check_output() will also store the output in the output attribute.
|
||||
"""
|
||||
def __init__(self, returncode, cmd, output=None):
|
||||
self.returncode = returncode
|
||||
self.cmd = cmd
|
||||
self.output = output
|
||||
def __str__(self):
|
||||
return ("Command '%s' returned non-zero exit status %d with output %s" %
|
||||
(self.cmd, self.returncode, self.output))
|
||||
|
||||
|
||||
# Copied from python 2.7 version of subprocess.py
|
||||
def check_output(*popenargs, **kwargs):
|
||||
r"""Run command with arguments and return its output as a byte string.
|
||||
|
||||
If the exit code was non-zero it raises a CalledProcessError. The
|
||||
CalledProcessError object will have the return code in the returncode
|
||||
attribute and output in the output attribute.
|
||||
|
||||
The arguments are the same as for the Popen constructor. Example:
|
||||
|
||||
>>> check_output(["ls", "-l", "/dev/null"])
|
||||
'crw-rw-rw- 1 root root 1, 3 Oct 18 2007 /dev/null\n'
|
||||
|
||||
The stdout argument is not allowed as it is used internally.
|
||||
To capture standard error in the result, use stderr=STDOUT.
|
||||
|
||||
>>> check_output(["/bin/sh", "-c",
|
||||
... "ls -l non_existent_file ; exit 0"],
|
||||
... stderr=STDOUT)
|
||||
'ls: non_existent_file: No such file or directory\n'
|
||||
"""
|
||||
if 'stdout' in kwargs:
|
||||
raise ValueError('stdout argument not allowed, it will be overridden.')
|
||||
process = subprocess.Popen(stdout=subprocess.PIPE, *popenargs, **kwargs)
|
||||
output, unused_err = process.communicate()
|
||||
retcode = process.poll()
|
||||
if retcode:
|
||||
cmd = kwargs.get("args")
|
||||
if cmd is None:
|
||||
cmd = popenargs[0]
|
||||
raise CalledProcessError(retcode, cmd, output)
|
||||
return output
|
||||
|
||||
def callo(args):
|
||||
"""Call a program, and capture its output
|
||||
"""
|
||||
return check_output(args)
|
||||
return subprocess.check_output(args)
|
||||
|
||||
def get_tar_path(version, tar_path):
|
||||
""" Get the path to clang-format in the llvm tarball
|
||||
|
@ -59,60 +59,10 @@ ESLINT_SOURCE_TAR_BASE = string.Template(ESLINT_PROGNAME + "-$platform-$arch")
|
||||
# Has to match the string in SConstruct.
|
||||
MODULE_DIR = "src/mongo/db/modules"
|
||||
|
||||
# Copied from python 2.7 version of subprocess.py
|
||||
# Exception classes used by this module.
|
||||
class CalledProcessError(Exception):
|
||||
"""This exception is raised when a process run by check_call() or
|
||||
check_output() returns a non-zero exit status.
|
||||
The exit status will be stored in the returncode attribute;
|
||||
check_output() will also store the output in the output attribute.
|
||||
"""
|
||||
def __init__(self, returncode, cmd, output=None):
|
||||
self.returncode = returncode
|
||||
self.cmd = cmd
|
||||
self.output = output
|
||||
def __str__(self):
|
||||
return ("Command '%s' returned non-zero exit status %d with output %s" %
|
||||
(self.cmd, self.returncode, self.output))
|
||||
|
||||
|
||||
# Copied from python 2.7 version of subprocess.py
|
||||
def check_output(*popenargs, **kwargs):
|
||||
r"""Run command with arguments and return its output as a byte string.
|
||||
|
||||
If the exit code was non-zero it raises a CalledProcessError. The
|
||||
CalledProcessError object will have the return code in the returncode
|
||||
attribute and output in the output attribute.
|
||||
|
||||
The arguments are the same as for the Popen constructor. Example:
|
||||
|
||||
>>> check_output(["ls", "-l", "/dev/null"])
|
||||
'crw-rw-rw- 1 root root 1, 3 Oct 18 2007 /dev/null\n'
|
||||
|
||||
The stdout argument is not allowed as it is used internally.
|
||||
To capture standard error in the result, use stderr=STDOUT.
|
||||
|
||||
>>> check_output(["/bin/sh", "-c",
|
||||
... "ls -l non_existent_file ; exit 0"],
|
||||
... stderr=STDOUT)
|
||||
'ls: non_existent_file: No such file or directory\n'
|
||||
"""
|
||||
if 'stdout' in kwargs:
|
||||
raise ValueError('stdout argument not allowed, it will be overridden.')
|
||||
process = subprocess.Popen(stdout=subprocess.PIPE, *popenargs, **kwargs)
|
||||
output, unused_err = process.communicate()
|
||||
retcode = process.poll()
|
||||
if retcode:
|
||||
cmd = kwargs.get("args")
|
||||
if cmd is None:
|
||||
cmd = popenargs[0]
|
||||
raise CalledProcessError(retcode, cmd, output)
|
||||
return output
|
||||
|
||||
def callo(args):
|
||||
"""Call a program, and capture its output
|
||||
"""
|
||||
return check_output(args)
|
||||
return subprocess.check_output(args)
|
||||
|
||||
def extract_eslint(tar_path, target_file):
|
||||
tarfp = tarfile.open(tar_path)
|
||||
@ -223,7 +173,7 @@ class ESLint(object):
|
||||
# so only enter the printing logic if we have an error.
|
||||
try:
|
||||
eslint_output = callo([self.path, "-f", "unix", file_name])
|
||||
except CalledProcessError as e:
|
||||
except subprocess.CalledProcessError as e:
|
||||
if print_diff:
|
||||
# Take a lock to ensure error messages do not get mixed when printed to the screen
|
||||
with self.print_lock:
|
||||
|
@ -49,45 +49,10 @@ def call(a, logger):
|
||||
raise Exception()
|
||||
|
||||
|
||||
# Copied from python 2.7 version of subprocess.py
|
||||
def check_output(*popenargs, **kwargs):
|
||||
r"""Run command with arguments and return its output as a byte string.
|
||||
|
||||
If the exit code was non-zero it raises a CalledProcessError. The
|
||||
CalledProcessError object will have the return code in the returncode
|
||||
attribute and output in the output attribute.
|
||||
|
||||
The arguments are the same as for the Popen constructor. Example:
|
||||
|
||||
>>> check_output(["ls", "-l", "/dev/null"])
|
||||
'crw-rw-rw- 1 root root 1, 3 Oct 18 2007 /dev/null\n'
|
||||
|
||||
The stdout argument is not allowed as it is used internally.
|
||||
To capture standard error in the result, use stderr=STDOUT.
|
||||
|
||||
>>> check_output(["/bin/sh", "-c",
|
||||
... "ls -l non_existent_file ; exit 0"],
|
||||
... stderr=STDOUT)
|
||||
'ls: non_existent_file: No such file or directory\n'
|
||||
"""
|
||||
if 'stdout' in kwargs:
|
||||
raise ValueError('stdout argument not allowed, it will be overridden.')
|
||||
process = subprocess.Popen(stdout=subprocess.PIPE, *popenargs, **kwargs)
|
||||
output, unused_err = process.communicate()
|
||||
retcode = process.poll()
|
||||
if retcode:
|
||||
cmd = kwargs.get("args")
|
||||
if cmd is None:
|
||||
cmd = popenargs[0]
|
||||
raise CalledProcessError(retcode, cmd, output=output)
|
||||
|
||||
return output
|
||||
|
||||
|
||||
def callo(a, logger):
|
||||
logger.info("%s" % str(a))
|
||||
|
||||
return check_output(a)
|
||||
return subprocess.check_output(a)
|
||||
|
||||
|
||||
def find_program(prog, paths):
|
||||
|
@ -9,8 +9,9 @@ SCONS_VERSION = os.environ.get('SCONS_VERSION', "2.5.0")
|
||||
mongodb_root = os.path.dirname(os.path.dirname(__file__))
|
||||
scons_dir = os.path.join(mongodb_root, 'src', 'third_party', 'scons-' + SCONS_VERSION)
|
||||
|
||||
args = [sys.executable, os.path.join(scons_dir, 'scons.py')] + sys.argv[1:]
|
||||
|
||||
if sys.platform == 'win32':
|
||||
args = [sys.executable, os.path.join(scons_dir, 'scons.py')] + sys.argv[1:]
|
||||
sys.exit(subprocess.call(args))
|
||||
else:
|
||||
os.execv(os.path.join(scons_dir, 'scons.py'), sys.argv)
|
||||
os.execv(sys.executable, args)
|
||||
|
Loading…
Reference in New Issue
Block a user