123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- # -*- 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)
|