From 79a6f63f5b57622f1d3871b86ce8f048803d0914 Mon Sep 17 00:00:00 2001 From: Marin Atanasov Nikolov Date: Wed, 25 Mar 2020 10:16:37 +0200 Subject: [PATCH] Use a passwordbox widget when providing the login credentials See #26 --- src/pvc/core.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/pvc/core.py b/src/pvc/core.py index 48260c5..9041c86 100644 --- a/src/pvc/core.py +++ b/src/pvc/core.py @@ -98,7 +98,6 @@ def login(self): elements = [ pvc.widget.form.FormElement(label='Hostname'), pvc.widget.form.FormElement(label='Username'), - pvc.widget.form.FormElement(label='Password', attributes=0x1), ] form = pvc.widget.form.Form( @@ -121,6 +120,17 @@ def login(self): ) continue + code, password = self.dialog.passwordbox( + text='Password for {}'.format(fields['Username']), + insecure=True, + ) + if code in (self.dialog.CANCEL, self.dialog.ESC): + self.dialog.msgbox( + title='Error', + text='You need to provide a password, please try again.\n', + ) + continue + self.dialog.infobox( title='Establishing Connection', text='Connecting to {} ...'.format(fields['Hostname']), @@ -129,7 +139,7 @@ def login(self): self.agent = VConnector( host=fields['Hostname'], user=fields['Username'], - pwd=fields['Password'], + pwd=password, ) try: