Fix formatting of lib/limits.py

pull/1062/head
Igor Chubin 1 month ago
parent 3723049081
commit 2dd407fb5c

@ -21,13 +21,15 @@ Usage:
import time import time
from globals import log from globals import log
def _time_caps(minutes, hours, days): def _time_caps(minutes, hours, days):
return { return {
'min': minutes, "min": minutes,
'hour': hours, "hour": hours,
'day': days, "day": days,
} }
class Limits(object): class Limits(object):
""" """
Queries limitation (by IP). Queries limitation (by IP).
@ -38,7 +40,7 @@ class Limits(object):
""" """
def __init__(self, whitelist=None, limits=None): def __init__(self, whitelist=None, limits=None):
self.intervals = ['min', 'hour', 'day'] self.intervals = ["min", "hour", "day"]
self.divisor = _time_caps(60, 3600, 86400) self.divisor = _time_caps(60, 3600, 86400)
self.last_update = _time_caps(0, 0, 0) self.last_update = _time_caps(0, 0, 0)
@ -54,9 +56,9 @@ class Limits(object):
self.whitelist = [] self.whitelist = []
self.counter = { self.counter = {
'min': {}, "min": {},
'hour': {}, "hour": {},
'day': {}, "day": {},
} }
self._clear_counters_if_needed() self._clear_counters_if_needed()
@ -75,7 +77,9 @@ class Limits(object):
return self.limit[interval] return self.limit[interval]
def _report_excessive_visits(self, interval, ip_address): def _report_excessive_visits(self, interval, ip_address):
log("%s LIMITED [%s for %s]" % (ip_address, self._get_limit(interval), interval)) log(
"%s LIMITED [%s for %s]" % (ip_address, self._get_limit(interval), interval)
)
def check_ip(self, ip_address): def check_ip(self, ip_address):
""" """
@ -89,8 +93,10 @@ class Limits(object):
self._log_visit(interval, ip_address) self._log_visit(interval, ip_address)
if self._limit_exceeded(interval, ip_address): if self._limit_exceeded(interval, ip_address):
self._report_excessive_visits(interval, ip_address) self._report_excessive_visits(interval, ip_address)
return ("Not so fast! Number of queries per %s is limited to %s" return "Not so fast! Number of queries per %s is limited to %s" % (
% (interval, self._get_limit(interval))) interval,
self._get_limit(interval),
)
return None return None
def reset(self): def reset(self):

Loading…
Cancel
Save