dacha...@gmail.com wrote: > 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. >
Run svn once manually as the same user that is running your script then when you get the prompt verify that it is indeed the certificate and accept it permanently. That will allow your script to work proviuded the certificate doesn't change. Also, change the command you run to include the --non-interactive command line option so that if the certificate ever does change in the future the command will fail rather than prompting. Alternatively use --non-interactive --trust-server-cert to just accept any old server regardless what certificate it uses, but be aware that this impacts security. -- Duncan Booth http://kupuguy.blogspot.com -- http://mail.python.org/mailman/listinfo/python-list