in psaw/PushshiftAPI.py [0:0]
def __init__(self,
max_retries=20,
max_sleep=3600,
backoff=2,
rate_limit_per_minute=None,
max_results_per_request=1000,
detect_local_tz=True,
utc_offset_secs=None,
domain='api',
https_proxy=None,
shards_down_behavior='warn', # must be one of ['warn','stop' or None] # To do: add 'retry'
timeout=5,
):
assert max_results_per_request <= 1000
assert backoff >= 1
self.max_retries = max_retries
self.max_sleep = max_sleep
self.backoff = backoff
self.max_results_per_request = max_results_per_request
self._utc_offset_secs = utc_offset_secs
self._detect_local_tz = detect_local_tz
self.domain = domain
if https_proxy is not None:
self.proxies = {"https": https_proxy }
else:
self.proxies = {}
self.shards_down_behavior = shards_down_behavior
self.timeout = timeout
self.metadata_ = {}
if rate_limit_per_minute is None:
log.debug("Connecting to /meta endpoint to learn rate limit.")
response = self._get(self.base_url.format(endpoint='meta'))
rate_limit_per_minute = response['server_ratelimit_per_minute']
log.debug("server_ratelimit_per_minute: %s" % rate_limit_per_minute)
interval = 60 / rate_limit_per_minute
self._rlcache = RateLimitCache(interval)