From 9fd8d1368c72dcf07fc1bb1f2c14f15b8b32aead Mon Sep 17 00:00:00 2001 From: Sheng Date: Sat, 25 Aug 2018 18:19:25 +0800 Subject: [PATCH] Added get_password method --- webssh/handler.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/webssh/handler.py b/webssh/handler.py index 032d707..b3f225d 100644 --- a/webssh/handler.py +++ b/webssh/handler.py @@ -40,9 +40,6 @@ def parse_encoding(data): class MixinHandler(object): - arguments_required = {} # agruments must be deliverd - empty_allowed = {} # emtpy value alllowed - def get_value(self, name): is_required = name in self.arguments_required @@ -52,7 +49,7 @@ class MixinHandler(object): if is_required: raise else: - if not value and is_required and name not in self.empty_allowed: + if not value and is_required: raise ValueError('The {} field is required.'.format(name)) return value @@ -79,7 +76,6 @@ class MixinHandler(object): class IndexHandler(MixinHandler, tornado.web.RequestHandler): arguments_required = {'hostname', 'port', 'username', 'password'} - empty_allowed = {'password'} def initialize(self, loop, policy, host_keys_settings): self.loop = loop @@ -152,11 +148,17 @@ class IndexHandler(MixinHandler, tornado.web.RequestHandler): raise ValueError('Invalid port: {}'.format(value)) + def get_password(self): + try: + return self.get_value('password') + except ValueError: + return '' + def get_args(self): hostname = self.get_hostname() port = self.get_port() username = self.get_value('username') - password = self.get_value('password') + password = self.get_password() privatekey = self.get_privatekey() pkey = self.get_pkey_obj(privatekey, password, self.filename) \ if privatekey else None