From a5d36bf6b42dc8121fa31979239ba6b19e714997 Mon Sep 17 00:00:00 2001 From: Randall Winkhart Date: Wed, 1 Mar 2023 16:40:58 -0500 Subject: [PATCH] Prevent errors when checking for extensions if there is no extension directory Former-commit-id: edb03fb89643e74d28bdbfa20bef5deb4da62e49 Former-commit-id: 306b9928f47d1fe6880ca30c91adbb001b4684f3 --- lib/sshyp.py | 25 ++++++++++++++----------- 1 file changed, 14 insertions(+), 11 deletions(-) diff --git a/lib/sshyp.py b/lib/sshyp.py index 9c860a2..edaabc6 100755 --- a/lib/sshyp.py +++ b/lib/sshyp.py @@ -747,19 +747,22 @@ def remove_data(): # deletes an entry from the server and flags it for local de def extension_runner(): # checks extension config files for matches to argument, runs extensions from configparser import ConfigParser _output_com, _extension_dir = None, realpath(__file__).rsplit('/', 1)[0] + '/extensions/' - for _extension in listdir(_extension_dir): - _extension_config = ConfigParser() - _extension_config.read(_extension_dir + _extension) - _input_com = _extension_config.get('config', 'input').split() - if _input_com == arguments[arg_start:]: - _output_com = _extension_config.get('config', 'output').split() - if arg_start == 1: - _output_com.append(arguments[0]) - if _output_com is not None: - run(_output_com) - s_exit() + if isdir(_extension_dir): + for _extension in listdir(_extension_dir): + _extension_config = ConfigParser() + _extension_config.read(_extension_dir + _extension) + _input_com = _extension_config.get('config', 'input').split() + if _input_com == arguments[arg_start:]: + _output_com = _extension_config.get('config', 'output').split() + if arg_start == 1: + _output_com.append(arguments[0]) + if _output_com is not None: + run(_output_com) + else: + print_info() else: print_info() + s_exit() if __name__ == "__main__":