Skip to content

Commit

Permalink
Replace backported one with just the code used
Browse files Browse the repository at this point in the history
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
  • Loading branch information
hexylena committed Sep 24, 2015
1 parent d4d439f commit 5f15b0d
Showing 1 changed file with 8 additions and 29 deletions.
37 changes: 8 additions & 29 deletions lib/galaxy/web/base/interactive_environments.py
Expand Up @@ -5,7 +5,6 @@
import stat
import random
import tempfile
import subprocess
from subprocess import Popen, PIPE

from galaxy.util.bunch import Bunch
Expand All @@ -17,32 +16,6 @@
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):
Expand Down Expand Up @@ -287,8 +260,14 @@ def get_proxied_ports(self, container_id):
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" : {
Expand Down

0 comments on commit 5f15b0d

Please sign in to comment.