diff --git a/ngxtop/config_parser.py b/ngxtop/config_parser.py index f6999cf..7c0d79a 100644 --- a/ngxtop/config_parser.py +++ b/ngxtop/config_parser.py @@ -106,7 +106,7 @@ def detect_log_config(arguments): log_formats = dict(get_log_formats(config_str)) if len(access_logs) == 1: - log_path, format_name = access_logs.items()[0] + log_path, format_name = list(access_logs.items())[0] if format_name == 'combined': return log_path, LOG_FORMAT_COMBINED if format_name not in log_formats: @@ -115,7 +115,7 @@ def detect_log_config(arguments): # multiple access logs configured, offer to select one print('Multiple access logs detected in configuration:') - log_path = choose_one(access_logs.keys(), 'Select access log file to process: ') + log_path = choose_one(list(access_logs.keys()), 'Select access log file to process: ') format_name = access_logs[log_path] if format_name not in log_formats: error_exit('Incorrect format name set in config for access log file "%s"' % log_path) diff --git a/ngxtop/ngxtop.py b/ngxtop/ngxtop.py old mode 100755 new mode 100644 diff --git a/ngxtop/utils.py b/ngxtop/utils.py index ef61072..7bd9a2a 100644 --- a/ngxtop/utils.py +++ b/ngxtop/utils.py @@ -5,6 +5,8 @@ def choose_one(choices, prompt): for idx, choice in enumerate(choices): print('%d. %s' % (idx + 1, choice)) selected = None + if sys.version[0] == '3': + raw_input = input while not selected or selected <= 0 or selected > len(choices): selected = raw_input(prompt) try: @@ -16,4 +18,4 @@ def choose_one(choices, prompt): def error_exit(msg, status=1): sys.stderr.write('Error: %s\n' % msg) - sys.exit(status) \ No newline at end of file + sys.exit(status)