# -*- coding: utf-8 -*- # !/usr/bin/env python """Initialize this class to define request-rates for limiter """ from enum import Enum from .exceptions import ImmutableClassProperty class ResetTypes(Enum): SCHEDULED = 1 INTERVAL = 2 class RequestRate(object): def __init__( self, limit, interval, reset = ResetTypes.INTERVAL): self._limit = limit self._interval = interval self._reset = reset self._log = {} @property def limit(self): return self._limit @limit.setter def limit(self, _): raise ImmutableClassProperty(self, "limit") @property def interval(self): return self._interval @interval.setter def interval(self, _): raise ImmutableClassProperty(self, "interval") def __str__(self): return "{limit}/{interval}".format(limit = self.limit, interval = self.interval)