Pārlūkot izejas kodu

Fix paramiko password prompting

Jonas Borgström 14 gadi atpakaļ
vecāks
revīzija
811bbb3e89
1 mainītis faili ar 7 papildinājumiem un 2 dzēšanām
  1. 7 2
      darc/remote.py

+ 7 - 2
darc/remote.py

@@ -74,8 +74,13 @@ class RemoteStore(object):
             try:
                 self.client.connect(**params)
                 break
-            except paramiko.PasswordRequiredException:
-                params['password'] = getpass.getpass('Password for %(username)s@%(hostname)s:' % params)
+            except (paramiko.PasswordRequiredException,
+		    paramiko.AuthenticationException,
+		    paramiko.SSHException):
+		if not 'password' in params:
+			params['password'] = getpass.getpass('Password for %(username)s@%(hostname)s:' % params)
+		else:
+		    raise
 
         self.unpacker = msgpack.Unpacker()
         self.transport = self.client.get_transport()