mirror of
https://github.com/galaxyproject/galaxy.git
synced 2026-09-24 16:30:27 +08:00
Replace backported one with just the code used
Sorry bjoern, ripped out what you'd added and just used the code because the doctest was failing for some unknown reason and we didn't ever need to reuse the function, so ... easier this way
This commit is contained in:
@@ -5,7 +5,6 @@ import json
|
||||
import stat
|
||||
import random
|
||||
import tempfile
|
||||
import subprocess
|
||||
from subprocess import Popen, PIPE
|
||||
|
||||
from galaxy.util.bunch import Bunch
|
||||
@@ -17,32 +16,6 @@ import logging
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
|
||||
# Python 2.6 does not support the check_output command.
|
||||
# As a workaround we use a backport from https://gist.github.com/edufelipe/1027906
|
||||
# until we do not support Python 2.6 anymore.
|
||||
|
||||
if "check_output" not in dir( subprocess ):
|
||||
def check_output(*popenargs, **kwargs):
|
||||
r"""Run command with arguments and return its output as a byte string.
|
||||
Backported from Python 2.7 as it's implemented as pure python on stdlib.
|
||||
>>> check_output(['/usr/bin/python', '--version'])
|
||||
Python 2.6.2
|
||||
"""
|
||||
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]
|
||||
error = subprocess.CalledProcessError(retcode, cmd)
|
||||
error.output = output
|
||||
raise error
|
||||
return output
|
||||
else:
|
||||
from subprocess import check_output
|
||||
|
||||
|
||||
class InteractiveEnviornmentRequest(object):
|
||||
|
||||
def __init__(self, trans, plugin):
|
||||
@@ -287,8 +260,14 @@ class InteractiveEnviornmentRequest(object):
|
||||
container_id,
|
||||
command
|
||||
))
|
||||
output = check_output(command, shell=True)
|
||||
inspect_data = json.loads(output)
|
||||
|
||||
p = Popen(command, stdout=PIPE, stderr=PIPE, close_fds=True, shell=True)
|
||||
stdout, stderr = p.communicate()
|
||||
if p.returncode != 0 or len(stderr):
|
||||
log.error( "%s\n%s" % (stdout, stderr) )
|
||||
return None
|
||||
|
||||
inspect_data = json.loads(stdout)
|
||||
# [{
|
||||
# "NetworkSettings" : {
|
||||
# "Ports" : {
|
||||
|
||||
Reference in New Issue
Block a user