From 79a6f63f5b57622f1d3871b86ce8f048803d0914 Mon Sep 17 00:00:00 2001
From: Marin Atanasov Nikolov <dnaeon@gmail.com>
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: