diff --git a/mwclient/client.py b/mwclient/client.py index 0594c54a038e9ca8c7eca55c309df84c492a27a5..7a64d2ca4914d11ac268ee677169564bd5a64bb1 100644 --- a/mwclient/client.py +++ b/mwclient/client.py @@ -54,7 +54,8 @@ class Site(object): def __init__(self, host, path='/w/', ext='.php', pool=None, retry_timeout=30, max_retries=25, wait_callback=lambda *x: None, clients_useragent=None, - max_lag=3, compress=True, force_login=True, do_init=True, httpauth=None): + max_lag=3, compress=True, force_login=True, do_init=True, httpauth=None, + requests=None): # Setup member variables self.host = host self.path = path @@ -63,6 +64,7 @@ class Site(object): self.compress = compress self.max_lag = text_type(max_lag) self.force_login = force_login + self.requests = requests or {} if isinstance(httpauth, (list, tuple)): self.httpauth = HTTPBasicAuth(*httpauth) @@ -272,7 +274,7 @@ class Site(object): fullurl = '{scheme}://{host}{url}'.format(scheme=scheme, host=host, url=url) try: - stream = self.connection.post(fullurl, data=data, files=files, headers=headers) + stream = self.connection.post(fullurl, data=data, files=files, headers=headers, **self.requests) if stream.headers.get('x-database-lag'): wait_time = int(stream.headers.get('retry-after')) log.warning('Database lag exceeds max lag. Waiting for %d seconds', wait_time)