Преглед изворни кода

Fix paramiko password prompting

Jonas Borgström пре 14 година
родитељ
комит
811bbb3e89
1 измењених фајлова са 7 додато и 2 уклоњено
  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()