import django, os, sys
os.environ['DJANGO_SETTINGS_MODULE'] = 'core.settings'
sys.path.insert(0, '/Users/junv/code/links')
django.setup()

from nginxmon.models import NginxAccessLog
from django.db.models import Count
from django.utils import timezone
from datetime import timedelta

since = timezone.now() - timedelta(hours=24)
ips = [
    "210.231.178.225","139.162.37.203","20.116.48.67","4.204.200.32",
    "139.162.37.41","115.171.57.239","20.151.201.236","74.248.155.72",
    "130.12.98.27","112.1.105.92","20.220.232.240","172.190.142.176",
]

for ip in ips:
    paths = list(NginxAccessLog.objects.filter(remote_addr=ip, timestamp__gte=since)
                 .values("request_uri","status").annotate(cnt=Count("id")).order_by("-cnt")[:5])
    statuses = list(NginxAccessLog.objects.filter(remote_addr=ip, timestamp__gte=since)
                    .values("status").annotate(cnt=Count("id")).order_by("-cnt"))
    ss = ", ".join(str(r["status"])+"("+str(r["cnt"])+")" for r in statuses)
    print("-- "+ip+"  "+ss)
    for p in paths:
        print("   ["+str(p["status"])+"] "+str(p["cnt"])+"x  "+p["request_uri"][:80])
    print("")
