better sorting, changed display

master
Nicholas Hope 2022-12-30 12:35:08 -05:00
parent c54d5e308e
commit 934425c073
1 changed files with 11 additions and 6 deletions

View File

@ -1,6 +1,12 @@
import sys import sys
import requests import requests
def sorted_dict(d: dict, reverse=True) -> dict:
return {
key: d[key]
for key in sorted(d, key=d.get, reverse=reverse)
}
def main(filename: str): def main(filename: str):
validnames = { validnames = {
'wp-login.php', 'wp-login.php',
@ -32,7 +38,7 @@ def main(filename: str):
} }
hitfiles = {}.fromkeys(validnames, 0) hitfiles = {}.fromkeys(validnames, 0)
requesters = {} requesters = {}
ips = {} locations = {}
for ip, date, time, timezone, status, method, file in filterwords(filename, validnames): for ip, date, time, timezone, status, method, file in filterwords(filename, validnames):
hitfiles[file] += 1 hitfiles[file] += 1
@ -42,14 +48,13 @@ def main(filename: str):
requesters[ip] = 1 requesters[ip] = 1
latlon = get_ip_latlon(ip) latlon = get_ip_latlon(ip)
if latlon is not None: if latlon is not None:
ips[ip] = latlon locations[ip] = latlon
hitfiles = sorted_dict(hitfiles)
print(f'{hitfiles = }') print(f'{hitfiles = }')
requesters = sorted_dict(requesters)
print(f'{requesters = }') print(f'{requesters = }')
print(f'{ips = }') print(f'{locations = }')
req_list = list(requesters)
req_list.sort(key=req_list.count)
print(f'{req_list = }')
def get_ip_latlon(ip: str) -> (int, int): def get_ip_latlon(ip: str) -> (int, int):
# make a reqest to ip-api.com to associate an ip to a # make a reqest to ip-api.com to associate an ip to a