diff --git a/79a6f63f5b57622f1d3871b86ce8f048803d0914.patch b/79a6f63f5b57622f1d3871b86ce8f048803d0914.patch new file mode 100644 index 0000000..64392b4 --- /dev/null +++ b/79a6f63f5b57622f1d3871b86ce8f048803d0914.patch @@ -0,0 +1,49 @@ +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: