[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