New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Account for the fact that some file-like objects may not have a isatty() method #1022

Closed
wants to merge 1 commit into
base: master
from

Conversation

Projects
None yet
1 participant
@jphalip

jphalip commented Nov 16, 2013

This patch is inspired from that of #1019 and addresses a similar issue.

In my case, the issue I'm facing is that the pipe doesn't have an isatty() method when running the fabric.contrib.files.sed command on an Ubuntu 12.04.3 machine:

Traceback (most recent call last):
  File "/home/vagrant/.virtualenvs/myproject/local/lib/python2.7/site-packages/celery/app/trace.py", line 218, in trace_task
    R = retval = fun(*args, **kwargs)
  File "/home/vagrant/.virtualenvs/myproject/local/lib/python2.7/site-packages/celery/app/trace.py", line 396, in __protected_call__
    return self.run(*args, **kwargs)
  File "/vagrant/myproject/myapp/tasks.py", line 35, in mytask
    sed('/etc/network/interfaces', old_ip, new_ip, use_sudo=True, )
  File "/home/vagrant/.virtualenvs/myproject/local/lib/python2.7/site-packages/fabric/contrib/files.py", line 204, in sed
    platform = run("uname")
  File "/home/vagrant/.virtualenvs/myproject/local/lib/python2.7/site-packages/fabric/network.py", line 578, in host_prompting_wrapper
    return func(*args, **kwargs)
  File "/home/vagrant/.virtualenvs/myproject/local/lib/python2.7/site-packages/fabric/operations.py", line 1042, in run
    shell_escape=shell_escape)
  File "/home/vagrant/.virtualenvs/myproject/local/lib/python2.7/site-packages/fabric/operations.py", line 911, in _run_command
    stderr=stderr, timeout=timeout)
  File "/home/vagrant/.virtualenvs/myproject/local/lib/python2.7/site-packages/fabric/operations.py", line 737, in _execute
    with char_buffered(sys.stdin):
  File "/usr/lib/python2.7/contextlib.py", line 17, in __enter__
    return self.gen.next()
  File "/home/vagrant/.virtualenvs/myproject/local/lib/python2.7/site-packages/fabric/context_managers.py", line 432, in char_buffered
    if win32 or not pipe.isatty():
AttributeError: '_fileobject' object has no attribute 'isatty'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment