Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #33935

Re: how to pass "echo t | " input to subprocess.check_output() method

From Kushal Kumaran <kushal.kumaran+python@gmail.com>
Subject Re: how to pass "echo t | " input to subprocess.check_output() method
References <d8bd2825-3e3a-4b0f-9679-bc86094c4b8c@googlegroups.com> <mailman.286.1353927741.29569.python-list@python.org> <09f48575-30aa-4d29-8042-2dfcaafe6ca8@googlegroups.com>
Date 2012-11-26 18:45 +0530
Newsgroups comp.lang.python
Message-ID <mailman.289.1353935723.29569.python-list@python.org> (permalink)

Show all headers | View raw


dachakku@gmail.com writes:

> On Monday, 26 November 2012 16:32:22 UTC+5:30, Kushal Kumaran  wrote:
>> dachakku@gmail.com writes:
>> 
>> 
>> 
>> > Hi all,
>> 
>> >
>> 
>> > I want to list the repositories in svn using python. For this i have used below command,
>> 
>> > " res = subprocess.check_output(["svn.exe", "list", "Https://127.0.0.1:443/svn/Repos"], stderr=subprocess.STDOUT) "
>> 
>> >
>> 
>> > but it throws an exception, since it requires an user input to validate certificate,
>> 
>> > " (R)eject, accept (t)emporarily or accept (p)ermanently? "
>> 
>> >
>> 
>> > from Command prompt im able to pass the input while calling the process, and im able to get the output
>> 
>> >
>> 
>> > "echo t | svn list Https://127.0.0.1:443/svn/Repos"
>> 
>> >
>> 
>> > But i dont know how to pass the "echo t | " in subprocess.check_output while calling a process.
>> 
>> > Is there a way to do this?
>> 
>> > Please help.
>> 
>> 
>> 
>> 
>> 
>> You could pass in a stdin argument to subprocess.check_output with a
>> 
>> value of 't\n'.
>> 
>> 
>> 
>> However, you might want to use something like http://pysvn.tigris.org/,
>> 
>> which is a python library for accessing subversion repositories.
>> 
>> 
>> 
>
> Hi Kushal,
>
> I tried passing the value 't\n' to check_output. But I think we cannot pass a string to stdin.
>
> When I tried the below command,
> subprocess.check_output([svn, "list", repos_Url], stdin='t\n', stderr=subprocess.STDOUT)
>
> I got the below error message,
>   File "C:\Python27\lib\subprocess.py", line 786, in _get_handles
>     p2cread = msvcrt.get_osfhandle(stdin.fileno())
> AttributeError: 'str' object has no attribute 'fileno'
>
> could you tell me how to pass the value to stdin..

Follow Chris Rebert's suggestion to use subprocess.Popen and the
communicate method of the Popen object.

Have you taken a look at pysvn?

-- 
regards,
kushal

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

how to pass "echo t | " input to subprocess.check_output() method dachakku@gmail.com - 2012-11-26 02:36 -0800
  Re: how to pass "echo t | " input to subprocess.check_output() method Duncan Booth <duncan.booth@invalid.invalid> - 2012-11-26 10:52 +0000
    Re: how to pass "echo t | " input to subprocess.check_output() method dachakku@gmail.com - 2012-11-26 04:05 -0800
      Re: how to pass "echo t | " input to subprocess.check_output() method Duncan Booth <duncan.booth@invalid.invalid> - 2012-11-26 12:17 +0000
  Re: how to pass "echo t | " input to subprocess.check_output() method Kushal Kumaran <kushal.kumaran+python@gmail.com> - 2012-11-26 16:32 +0530
    Re: how to pass "echo t | " input to subprocess.check_output() method dachakku@gmail.com - 2012-11-26 04:10 -0800
      Re: how to pass "echo t | " input to subprocess.check_output() method Kushal Kumaran <kushal.kumaran+python@gmail.com> - 2012-11-26 18:45 +0530
    Re: how to pass "echo t | " input to subprocess.check_output() method dachakku@gmail.com - 2012-11-26 04:10 -0800
  Re: how to pass "echo t | " input to subprocess.check_output() method Miki Tebeka <miki.tebeka@gmail.com> - 2012-11-26 07:40 -0800
    Re: how to pass "echo t | " input to subprocess.check_output() method dachakku@gmail.com - 2012-11-28 04:38 -0800
      Re: how to pass "echo t | " input to subprocess.check_output() method Miki Tebeka <miki.tebeka@gmail.com> - 2012-11-28 06:47 -0800

csiph-web