[pkg-eucalyptus-commits] [euca2ools] 23/41: Use slightly less annoying code to prompt for passwords

Charles Plessy plessy at alioth.debian.org
Sat Oct 12 03:24:19 UTC 2013


This is an automated email from the git hooks/post-receive script.

plessy pushed a commit to branch master
in repository euca2ools.

commit 74706389ea3dc00ffa8dfaf949d753783bdcb884
Author: Garrett Holmstrom <gholms at fedoraproject.org>
Date:   Tue Aug 20 15:53:03 2013 -0700

    Use slightly less annoying code to prompt for passwords
---
 euca2ools/commands/euare/createloginprofile.py |    9 ++-------
 euca2ools/commands/euare/updateloginprofile.py |    9 ++-------
 euca2ools/util.py                              |   12 ++++++++++++
 3 files changed, 16 insertions(+), 14 deletions(-)

diff --git a/euca2ools/commands/euare/createloginprofile.py b/euca2ools/commands/euare/createloginprofile.py
index a0ed7bd..90ee427 100644
--- a/euca2ools/commands/euare/createloginprofile.py
+++ b/euca2ools/commands/euare/createloginprofile.py
@@ -24,7 +24,7 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 from euca2ools.commands.euare import EuareRequest, AS_ACCOUNT
-import getpass
+from euca2ools.util import prompt_for_password
 from requestbuilder import Arg
 
 
@@ -42,9 +42,4 @@ class CreateLoginProfile(EuareRequest):
         EuareRequest.configure(self)
         if self.args['Password'] is None:
             self.log.info('no password supplied; prompting')
-            pass1 = '1'
-            pass2 = '2'
-            while pass1 != pass2:
-                pass1 = getpass.getpass(prompt='New password: ')
-                pass2 = getpass.getpass(prompt='Retype new password: ')
-            self.params['Password'] = pass1
+            self.params['Password'] = prompt_for_password()
diff --git a/euca2ools/commands/euare/updateloginprofile.py b/euca2ools/commands/euare/updateloginprofile.py
index 10bd6c6..7597092 100644
--- a/euca2ools/commands/euare/updateloginprofile.py
+++ b/euca2ools/commands/euare/updateloginprofile.py
@@ -24,7 +24,7 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
 from euca2ools.commands.euare import EuareRequest, AS_ACCOUNT
-import getpass
+from euca2ools.util import prompt_for_password
 from requestbuilder import Arg
 
 
@@ -42,9 +42,4 @@ class UpdateLoginProfile(EuareRequest):
         EuareRequest.configure(self)
         if self.args['Password'] is None:
             self.log.info('no password supplied; prompting')
-            pass1 = '1'
-            pass2 = '2'
-            while pass1 != pass2:
-                pass1 = getpass.getpass(prompt='New password: ')
-                pass2 = getpass.getpass(prompt='Retype new password: ')
-            self.params['Password'] = pass1
+            self.params['Password'] = prompt_for_password()
diff --git a/euca2ools/util.py b/euca2ools/util.py
index 887b657..1b8db9f 100644
--- a/euca2ools/util.py
+++ b/euca2ools/util.py
@@ -23,7 +23,9 @@
 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+import getpass
 import os
+import sys
 import tempfile
 
 
@@ -62,3 +64,13 @@ def sanitize_path(path):
     :param path: The path string to sanitize.
     """
     return os.path.abspath(os.path.expandvars(os.path.expanduser(path)))
+
+
+def prompt_for_password():
+    pass1 = getpass.getpass(prompt='New password: ')
+    pass2 = getpass.getpass(prompt='Retype new password: ')
+    if pass1 == pass2:
+        return pass1
+    else:
+        print >> sys.stderr, 'error: passwords do not match'
+        return prompt_for_password()

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-eucalyptus/euca2ools.git



More information about the pkg-eucalyptus-commits mailing list