From a2f5eac58ae23be4b33512226b1d5ea179b1d491 Mon Sep 17 00:00:00 2001 From: Pekka Helenius Date: Sat, 5 Feb 2022 14:20:04 +0200 Subject: [PATCH] Fix index out of range errors if country can't be determined --- apache-logparser/logparser.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/apache-logparser/logparser.py b/apache-logparser/logparser.py index 4f91212..a019a5d 100644 --- a/apache-logparser/logparser.py +++ b/apache-logparser/logparser.py @@ -301,16 +301,19 @@ for file in files: if not country_seen: host_country_main = subprocess.check_output([geotool,'-d',geodb,entry_remote_host]).rstrip().decode() host_country_main = host_country_main.split('\n') - host_country = host_country_main[0].split(', ')[1] - - if re.search("Address not found", host_country): - host_country = "Unknown" + try: + host_country = host_country_main[0].split(', ')[1] + except: + if re.search("Address not found", host_country): + host_country = "Unknown" else: if len(host_country_main) > 1: - host_city = host_country_main[1].split(', ')[4] - if re.search("N/A", host_city): - host_city = "Unknown: " + host_country_main[1].split(', ')[6] + ', ' + host_country_main[1].split(', ')[7] + try: + host_city = host_country_main[1].split(', ')[4] + except: + if re.search("N/A", host_city): + host_city = "Unknown: " + host_country_main[1].split(', ')[6] + ', ' + host_country_main[1].split(', ')[7] if country_filter: for country in countries_filter_list: