From 5f1ac33f0060d34017d91941939a4b3b76f5c780 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Dan=20Michael=20O=2E=20Hegg=C3=B8?= <danmichaelo@gmail.com>
Date: Sun, 16 Jun 2013 22:50:46 +0200
Subject: [PATCH] PEP8: Fix E251 unexpected spaces around keyword / parameter
 equals

---
 mwclient/client.py          | 182 ++++++++++++++++++------------------
 mwclient/compatibility.py   |   8 +-
 mwclient/ex.py              |  24 ++---
 mwclient/http.py            |  28 +++---
 mwclient/listing.py         |  36 +++----
 mwclient/page.py            | 130 +++++++++++++-------------
 mwclient/page_nowriteapi.py |   6 +-
 mwclient/upload.py          |   2 +-
 8 files changed, 208 insertions(+), 208 deletions(-)

diff --git a/mwclient/client.py b/mwclient/client.py
index 33d2965..7df3f70 100644
--- a/mwclient/client.py
+++ b/mwclient/client.py
@@ -38,9 +38,9 @@ class WaitToken(object):
 
 class Site(object):
     api_limit = 500
-    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):
+    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):
         # Setup member variables
         self.host = host
         self.path = path
@@ -76,8 +76,8 @@ class Site(object):
         
         # Page generators
         self.pages = listing.PageList(self)
-        self.categories = listing.PageList(self, namespace = 14)
-        self.images = listing.PageList(self, namespace = 6)
+        self.categories = listing.PageList(self, namespace=14)
+        self.images = listing.PageList(self, namespace=6)
         
         # Compat page generators
         self.Pages = self.pages
@@ -97,8 +97,8 @@ class Site(object):
                 
             
     def site_init(self):
-        meta = self.api('query', meta = 'siteinfo|userinfo', 
-            siprop = 'general|namespaces', uiprop = 'groups|rights')
+        meta = self.api('query', meta='siteinfo|userinfo', 
+            siprop='general|namespaces', uiprop='groups|rights')
         
         # Extract site info
         self.site = meta['query']['general']
@@ -128,7 +128,7 @@ class Site(object):
         self.require(1, 11)
         
         # User info 
-        userinfo = compatibility.userinfo(meta, self.require(1, 12, raise_error = False))
+        userinfo = compatibility.userinfo(meta, self.require(1, 12, raise_error=False))
         self.username = userinfo['name']
         self.groups = userinfo.get('groups', [])
         self.rights = userinfo.get('rights', [])
@@ -160,17 +160,17 @@ class Site(object):
         while True:
             info = self.raw_api(action, **kwargs)
             if not info: info = {}
-            res = self.handle_api_result(info, token = token)
+            res = self.handle_api_result(info, token=token)
             if res:
                 return info
                 
     
-    def handle_api_result(self, info, kwargs = None, token = None):
+    def handle_api_result(self, info, kwargs=None, token=None):
         if token is None:
             token = self.wait_token()
         
         try:
-            userinfo = compatibility.userinfo(info, self.require(1, 12, raise_error = None))
+            userinfo = compatibility.userinfo(info, self.require(1, 12, raise_error=None))
         except KeyError:
             userinfo = ()
         if 'blockedby' in userinfo:
@@ -216,11 +216,11 @@ class Site(object):
         while True:
             try:
                 stream = self.connection.post(self.host, 
-                    url, data = data, headers = headers)
+                    url, data=data, headers=headers)
                 if stream.getheader('Content-Encoding') == 'gzip':
                     # BAD.
                     seekable_stream = StringIO(stream.read())
-                    stream = gzip.GzipFile(fileobj = seekable_stream)
+                    stream = gzip.GzipFile(fileobj=seekable_stream)
                 return stream
                 
             except errors.HTTPStatusError, e:
@@ -257,12 +257,12 @@ class Site(object):
         data = self._query_string(*args, **kwargs)
         return self.raw_call('index', data).read().decode('utf-8', 'ignore')            
                 
-    def wait_token(self, args = None):
+    def wait_token(self, args=None):
         token = WaitToken()
         self.wait_tokens[token] = (0, args)
         return token
 
-    def wait(self, token, min_wait = 0):
+    def wait(self, token, min_wait=0):
         retry, args = self.wait_tokens[token]
         self.wait_tokens[token] = (retry + 1, args)
         if retry > self.max_retries and self.max_retries != -1:
@@ -274,7 +274,7 @@ class Site(object):
         time.sleep(timeout)
         return self.wait_tokens[token]
 
-    def require(self, major, minor, revision = None, raise_error = True):
+    def require(self, major, minor, revision=None, raise_error=True):
         if self.version is None:
             if raise_error is None: return 
             raise RuntimeError('Site %s has not yet been initialized' % repr(self))
@@ -292,7 +292,7 @@ class Site(object):
         
 
     # Actions
-    def email(self, user, text, subject, cc = False):
+    def email(self, user, text, subject, cc=False):
         """Sends email to a specified user on the wiki."""
         #TODO: Use api!
         postdata = {}
@@ -311,7 +311,7 @@ class Site(object):
             raise errors.EmailError, data
 
 
-    def login(self, username = None, password = None, cookies = None, domain = None):
+    def login(self, username=None, password=None, cookies=None, domain=None):
         """Login to the wiki."""
         if self.initialized: self.require(1, 10)
         
@@ -342,8 +342,8 @@ class Site(object):
                     raise errors.LoginError(self, login['login'])
                 
         if self.initialized:                
-            info = self.api('query', meta = 'userinfo', uiprop = 'groups|rights')
-            userinfo = compatibility.userinfo(info, self.require(1, 12, raise_error = False))
+            info = self.api('query', meta='userinfo', uiprop='groups|rights')
+            userinfo = compatibility.userinfo(info, self.require(1, 12, raise_error=False))
             self.username = userinfo['name']
             self.groups = userinfo.get('groups', [])
             self.rights = userinfo.get('rights', [])
@@ -352,13 +352,13 @@ class Site(object):
             self.site_init()
 
 
-    def upload(self, file = None, filename = None, description = '', ignore = False, file_size = None,
-            url = None, session_key = None, comment = None):
+    def upload(self, file=None, filename=None, description='', ignore=False, file_size=None,
+            url=None, session_key=None, comment=None):
         """Upload a file to the wiki."""
         if self.version[:2] < (1, 16):
-            return compatibility.old_upload(self, file = file, filename = filename, 
-                        description = description, ignore = ignore, 
-                        file_size = file_size)
+            return compatibility.old_upload(self, file=file, filename=filename, 
+                        description=description, ignore=ignore, 
+                        file_size=file_size)
         
         image = self.Images[filename]
         if not image.can('upload'):
@@ -405,7 +405,7 @@ class Site(object):
                 info = json.loads(data)
                 if not info:
                     info = {}
-                if self.handle_api_result(info, kwargs = predata):
+                if self.handle_api_result(info, kwargs=predata):
                     return info.get('upload', {})
             except errors.HTTPStatusError, e:
                 if e[0] == 503 and e[1].getheader('X-Database-Lag'):
@@ -418,7 +418,7 @@ class Site(object):
                 self.wait(wait_token)
             file.seek(0, 0)
             
-    def parse(self, text = None, title = None, page = None):
+    def parse(self, text=None, title=None, page=None):
         kwargs = {}
         if text is not None: kwargs['text'] = text
         if title is not None: kwargs['title'] = title
@@ -432,50 +432,50 @@ class Site(object):
     # def import: requires 1.15
             
     # Lists
-    def allpages(self, start = None, prefix = None, namespace = '0', filterredir = 'all',
-            minsize = None, maxsize = None, prtype = None, prlevel = None,
-            limit = None, dir = 'ascending', filterlanglinks = 'all', generator = True):
+    def allpages(self, start=None, prefix=None, namespace='0', filterredir='all',
+            minsize=None, maxsize=None, prtype=None, prlevel=None,
+            limit=None, dir='ascending', filterlanglinks='all', generator=True):
         """Retrieve all pages on the wiki as a generator."""
         self.require(1, 9)
         
         pfx = listing.List.get_prefix('ap', generator)
-        kwargs = dict(listing.List.generate_kwargs(pfx, ('from', start), prefix = prefix,
-            minsize = minsize, maxsize = maxsize, prtype = prtype, prlevel = prlevel,
-            namespace = namespace, filterredir = filterredir, dir = dir, 
-            filterlanglinks = filterlanglinks))
-        return listing.List.get_list(generator)(self, 'allpages', 'ap', limit = limit, return_values = 'title', **kwargs)
+        kwargs = dict(listing.List.generate_kwargs(pfx, ('from', start), prefix=prefix,
+            minsize=minsize, maxsize=maxsize, prtype=prtype, prlevel=prlevel,
+            namespace=namespace, filterredir=filterredir, dir=dir, 
+            filterlanglinks=filterlanglinks))
+        return listing.List.get_list(generator)(self, 'allpages', 'ap', limit=limit, return_values='title', **kwargs)
     # def allimages(self): requires 1.12
     # TODO!
 
-    def alllinks(self, start = None, prefix = None, unique = False, prop = 'title',
-            namespace = '0', limit = None, generator = True):
+    def alllinks(self, start=None, prefix=None, unique=False, prop='title',
+            namespace='0', limit=None, generator=True):
         """Retrieve a list of all links on the wiki as a generator."""
         self.require(1, 11)
             
         pfx = listing.List.get_prefix('al', generator)
-        kwargs = dict(listing.List.generate_kwargs(pfx, ('from', start), prefix = prefix,
-            prop = prop, namespace = namespace))
+        kwargs = dict(listing.List.generate_kwargs(pfx, ('from', start), prefix=prefix,
+            prop=prop, namespace=namespace))
         if unique: kwargs[pfx + 'unique'] = '1'
-        return listing.List.get_list(generator)(self, 'alllinks', 'al', limit = limit, return_values = 'title', **kwargs)
+        return listing.List.get_list(generator)(self, 'alllinks', 'al', limit=limit, return_values='title', **kwargs)
 
-    def allcategories(self, start = None, prefix = None, dir = 'ascending', limit = None, generator = True):
+    def allcategories(self, start=None, prefix=None, dir='ascending', limit=None, generator=True):
         """Retrieve all categories on the wiki as a generator."""
         self.require(1, 12)
         
         pfx = listing.List.get_prefix('ac', generator)
-        kwargs = dict(listing.List.generate_kwargs(pfx, ('from', start), prefix = prefix, dir = dir))
-        return listing.List.get_list(generator)(self, 'allcategories', 'ac', limit = limit, **kwargs)
+        kwargs = dict(listing.List.generate_kwargs(pfx, ('from', start), prefix=prefix, dir=dir))
+        return listing.List.get_list(generator)(self, 'allcategories', 'ac', limit=limit, **kwargs)
     
-    def allusers(self, start = None, prefix = None, group = None, prop = None, limit = None):
+    def allusers(self, start=None, prefix=None, group=None, prop=None, limit=None):
         """Retrieve all users on the wiki as a generator."""
         self.require(1, 11)
         
-        kwargs = dict(listing.List.generate_kwargs('au', ('from', start), prefix = prefix,
-            group = group, prop = prop))
-        return listing.List(self, 'allusers', 'au', limit = limit, **kwargs)
+        kwargs = dict(listing.List.generate_kwargs('au', ('from', start), prefix=prefix,
+            group=group, prop=prop))
+        return listing.List(self, 'allusers', 'au', limit=limit, **kwargs)
 
-    def blocks(self, start = None, end = None, dir = 'older', ids = None, users = None, limit = None, 
-            prop = 'id|user|by|timestamp|expiry|reason|flags'):
+    def blocks(self, start=None, end=None, dir='older', ids=None, users=None, limit=None, 
+            prop='id|user|by|timestamp|expiry|reason|flags'):
         """Retrieve blocks as a generator.
 
         Each block is a dictionary containing:
@@ -492,20 +492,20 @@ class Site(object):
 
         self.require(1, 12)
         # TODO: Fix. Fix what?
-        kwargs = dict(listing.List.generate_kwargs('bk', start = start, end = end, dir = dir, 
-            users = users, prop = prop))
-        return listing.List(self, 'blocks', 'bk', limit = limit, **kwargs)
+        kwargs = dict(listing.List.generate_kwargs('bk', start=start, end=end, dir=dir, 
+            users=users, prop=prop))
+        return listing.List(self, 'blocks', 'bk', limit=limit, **kwargs)
 
-    def deletedrevisions(self, start = None, end = None, dir = 'older', namespace = None, 
-            limit = None, prop = 'user|comment'):
+    def deletedrevisions(self, start=None, end=None, dir='older', namespace=None, 
+            limit=None, prop='user|comment'):
         # TODO: Fix
         self.require(1, 12)
         
-        kwargs = dict(listing.List.generate_kwargs('dr', start = start, end = end, dir = dir,
-            namespace = namespace, prop = prop))
-        return listing.List(self, 'deletedrevs', 'dr', limit = limit, **kwargs)
+        kwargs = dict(listing.List.generate_kwargs('dr', start=start, end=end, dir=dir,
+            namespace=namespace, prop=prop))
+        return listing.List(self, 'deletedrevs', 'dr', limit=limit, **kwargs)
 
-    def exturlusage(self, query, prop = None, protocol = 'http', namespace = None, limit = None):
+    def exturlusage(self, query, prop=None, protocol='http', namespace=None, limit=None):
         """Retrieves list of pages that link to a particular domain or URL as a generator.
 
         This API call mirrors the Special:LinkSearch function on-wiki.
@@ -525,20 +525,20 @@ class Site(object):
         """
         self.require(1, 11)
         
-        kwargs = dict(listing.List.generate_kwargs('eu', query = query, prop = prop, 
-            protocol = protocol, namespace = namespace))
-        return listing.List(self, 'exturlusage', 'eu', limit = limit, **kwargs) 
+        kwargs = dict(listing.List.generate_kwargs('eu', query=query, prop=prop, 
+            protocol=protocol, namespace=namespace))
+        return listing.List(self, 'exturlusage', 'eu', limit=limit, **kwargs) 
 
-    def logevents(self, type = None, prop = None, start = None, end = None, 
-            dir = 'older', user = None, title = None, limit = None, action = None):
+    def logevents(self, type=None, prop=None, start=None, end=None, 
+            dir='older', user=None, title=None, limit=None, action=None):
         self.require(1, 10)
         
-        kwargs = dict(listing.List.generate_kwargs('le', prop = prop, type = type, start = start,
-            end = end, dir = dir, user = user, title = title, action = action))
-        return listing.List(self, 'logevents', 'le', limit = limit, **kwargs)
+        kwargs = dict(listing.List.generate_kwargs('le', prop=prop, type=type, start=start,
+            end=end, dir=dir, user=user, title=title, action=action))
+        return listing.List(self, 'logevents', 'le', limit=limit, **kwargs)
 
     # def protectedtitles requires 1.15
-    def random(self, namespace, limit = 20):
+    def random(self, namespace, limit=20):
         """Retrieves a generator of random page from a particular namespace.
         
         limit specifies the number of random articles retrieved.
@@ -549,47 +549,47 @@ class Site(object):
         """
         self.require(1, 12)
         
-        kwargs = dict(listing.List.generate_kwargs('rn', namespace = namespace))
-        return listing.List(self, 'random', 'rn', limit = limit, **kwargs)
+        kwargs = dict(listing.List.generate_kwargs('rn', namespace=namespace))
+        return listing.List(self, 'random', 'rn', limit=limit, **kwargs)
 
-    def recentchanges(self, start = None, end = None, dir = 'older', namespace = None, 
-                prop = None, show = None, limit = None, type = None):
+    def recentchanges(self, start=None, end=None, dir='older', namespace=None, 
+                prop=None, show=None, limit=None, type=None):
         self.require(1, 9)
         
-        kwargs = dict(listing.List.generate_kwargs('rc', start = start, end = end, dir = dir,
-            namespace = namespace, prop = prop, show = show, type = type))
-        return listing.List(self, 'recentchanges', 'rc', limit = limit, **kwargs)
+        kwargs = dict(listing.List.generate_kwargs('rc', start=start, end=end, dir=dir,
+            namespace=namespace, prop=prop, show=show, type=type))
+        return listing.List(self, 'recentchanges', 'rc', limit=limit, **kwargs)
 
-    def search(self, search, namespace = '0', what = 'title', redirects = False, limit = None):
+    def search(self, search, namespace='0', what='title', redirects=False, limit=None):
         self.require(1, 11)
         
-        kwargs = dict(listing.List.generate_kwargs('sr', search = search, namespace = namespace, what = what))
+        kwargs = dict(listing.List.generate_kwargs('sr', search=search, namespace=namespace, what=what))
         if redirects: kwargs['srredirects'] = '1'
-        return listing.List(self, 'search', 'sr', limit = limit, **kwargs)
+        return listing.List(self, 'search', 'sr', limit=limit, **kwargs)
 
-    def usercontributions(self, user, start = None, end = None, dir = 'older', namespace = None, 
-            prop = None, show = None, limit = None):
+    def usercontributions(self, user, start=None, end=None, dir='older', namespace=None, 
+            prop=None, show=None, limit=None):
         self.require(1, 9)
         
-        kwargs = dict(listing.List.generate_kwargs('uc', user = user, start = start, end = end, 
-            dir = dir, namespace = namespace, prop = prop, show = show))
-        return listing.List(self, 'usercontribs', 'uc', limit = limit, **kwargs)
+        kwargs = dict(listing.List.generate_kwargs('uc', user=user, start=start, end=end, 
+            dir=dir, namespace=namespace, prop=prop, show=show))
+        return listing.List(self, 'usercontribs', 'uc', limit=limit, **kwargs)
 
-    def users(self, users, prop = 'blockinfo|groups|editcount'):
+    def users(self, users, prop='blockinfo|groups|editcount'):
         self.require(1, 12)
         
-        return listing.List(self, 'users', 'us', ususers = '|'.join(users), usprop = prop)
+        return listing.List(self, 'users', 'us', ususers='|'.join(users), usprop=prop)
         
-    def watchlist(self, allrev = False, start = None, end = None, namespace = None, dir = 'older',
-            prop = None, show = None, limit = None):
+    def watchlist(self, allrev=False, start=None, end=None, namespace=None, dir='older',
+            prop=None, show=None, limit=None):
         self.require(1, 9)
         
-        kwargs = dict(listing.List.generate_kwargs('wl', start = start, end = end, 
-            namespace = namespace, dir = dir, prop = prop, show = show))
+        kwargs = dict(listing.List.generate_kwargs('wl', start=start, end=end, 
+            namespace=namespace, dir=dir, prop=prop, show=show))
         if allrev: kwargs['wlallrev'] = '1'
-        return listing.List(self, 'watchlist', 'wl', limit = limit, **kwargs)
+        return listing.List(self, 'watchlist', 'wl', limit=limit, **kwargs)
         
-    def expandtemplates(self, text, title = None, generatexml = False):
+    def expandtemplates(self, text, title=None, generatexml=False):
         """Takes wikitext (text) and expands templates."""
         self.require(1, 11)
         
@@ -597,7 +597,7 @@ class Site(object):
         if title is None: kwargs['title'] = title
         if generatexml: kwargs['generatexml'] = '1'
         
-        result = self.api('expandtemplates', text = text, **kwargs)
+        result = self.api('expandtemplates', text=text, **kwargs)
         
         if generatexml:
             return result['expandtemplates']['*'], result['parsetree']['*']
diff --git a/mwclient/compatibility.py b/mwclient/compatibility.py
index d469ace..65b5b3e 100644
--- a/mwclient/compatibility.py
+++ b/mwclient/compatibility.py
@@ -6,7 +6,7 @@ def title(prefix, new_format):
     else:
         return 'titles'
         
-def userinfo(data, new_format = None):
+def userinfo(data, new_format=None):
     if new_format is None:
         # Unknown version; trying to guess
         if 'userinfo' in data: 
@@ -28,7 +28,7 @@ def iiprop(version):
     else:
         return 'timestamp|user|comment|url|size|sha1'
         
-def cmtitle(page, new_format, prefix = ''):
+def cmtitle(page, new_format, prefix=''):
     if new_format:
         return prefix + 'title', page.name
     else:
@@ -41,7 +41,7 @@ def protectright(version):
         return 'protect'
 
 from cStringIO import StringIO
-def old_upload(self, file, filename, description, license = '', ignore = False, file_size = None): 
+def old_upload(self, file, filename, description, license='', ignore=False, file_size=None): 
     image = self.Images[filename]
     if not image.can('upload'):
         raise errors.InsufficientPermission(filename)
@@ -74,7 +74,7 @@ def old_upload(self, file, filename, description, license = '', ignore = False,
         try:
             self.connection.post(self.host,
                     self.path + 'index.php?title=Special:Upload&maxlag=' 
-                    + self.max_lag, data = postdata).read()
+                    + self.max_lag, data=postdata).read()
         except errors.HTTPStatusError, e:
             if e[0] == 503 and e[1].getheader('X-Database-Lag'):
                 self.wait(wait_token, int(e[1].getheader('Retry-After')))
diff --git a/mwclient/ex.py b/mwclient/ex.py
index 879c28a..730fd05 100644
--- a/mwclient/ex.py
+++ b/mwclient/ex.py
@@ -31,18 +31,18 @@ class SiteList(object):
 
 class ConfiguredSite(client.Site):
     def __init__(self, *config_files, **kwargs):
-        self.config = read_config(config_files, sites = SiteList())
+        self.config = read_config(config_files, sites=SiteList())
         
         if 'name' in kwargs:
             self.config.update(self.config['sites'][kwargs['name']])
         
         do_login = 'username' in self.config and 'password' in self.config
         
-        client.Site.__init__(self, host = self.config['host'],
-            path = self.config['path'], ext = self.config.get('ext', '.php'), 
-            do_init = not do_login,
-            retry_timeout  = self.config.get('retry_timeout', 30),
-            max_retries = self.config.get('max_retries', -1))
+        client.Site.__init__(self, host=self.config['host'],
+            path=self.config['path'], ext=self.config.get('ext', '.php'), 
+            do_init=not do_login,
+            retry_timeout =self.config.get('retry_timeout', 30),
+            max_retries=self.config.get('max_retries', -1))
             
             
         if do_login:
@@ -51,7 +51,7 @@ class ConfiguredSite(client.Site):
     
 class ConfiguredPool(list):
     def __init__(self, *config_files):
-        self.config = read_config(config_files, sites = SiteList())
+        self.config = read_config(config_files, sites=SiteList())
         self.pool = http.HTTPPool()
         
         config = dict([(k, v) for k, v in self.config.iteritems()
@@ -64,11 +64,11 @@ class ConfiguredPool(list):
             
             do_login = 'username' in site and 'password' in site
                     
-            self.append(client.Site(host = site['host'], 
-                path = site['path'], ext = site.get('ext', '.php'),
-                pool = self.pool, do_init = not do_login,
-                retry_timeout = site.get('retry_timeout', 30),
-                max_retries = site.get('max_retries', -1)))
+            self.append(client.Site(host=site['host'], 
+                path=site['path'], ext=site.get('ext', '.php'),
+                pool=self.pool, do_init=not do_login,
+                retry_timeout=site.get('retry_timeout', 30),
+                max_retries=site.get('max_retries', -1)))
             if do_login:
                 self[-1].login(site['username'], site['password'])
             self[-1].config = site
diff --git a/mwclient/http.py b/mwclient/http.py
index d6b1ed6..daafa70 100644
--- a/mwclient/http.py
+++ b/mwclient/http.py
@@ -43,7 +43,7 @@ class HTTPPersistentConnection(object):
     scheme_name = 'http'
     useragent = None
     
-    def __init__(self, host, pool = None, clients_useragent = None):
+    def __init__(self, host, pool=None, clients_useragent=None):
         self._conn = self.http_class(host)
         self._conn.connect()
         self.last_request = time.time()
@@ -57,7 +57,7 @@ class HTTPPersistentConnection(object):
         self.useragent = clients_useragent + 'MwClient/' + __ver__
         
     def request(self, method, host, path, headers, data,
-            raise_on_not_ok = True, auto_redirect = True):      
+            raise_on_not_ok=True, auto_redirect=True):      
         
         # Strip scheme
         if type(host) is tuple:
@@ -85,7 +85,7 @@ class HTTPPersistentConnection(object):
         if _headers: headers.update(_headers)
         
         try:
-            self._conn.request(method, path, headers = headers)
+            self._conn.request(method, path, headers=headers)
             if issubclass(data.__class__, upload.Upload):
                 for s in data:
                     self._conn.send(s)
@@ -149,14 +149,14 @@ class HTTPPersistentConnection(object):
             
         return res
         
-    def get(self, host, path, headers = None):
+    def get(self, host, path, headers=None):
         return self.request('GET', host, path, headers, None)
-    def post(self, host, path, headers = None, data = None):
+    def post(self, host, path, headers=None, data=None):
         return self.request('POST', host, path, headers, data)
-    def head(self, host, path, headers = None, auto_redirect = False):
+    def head(self, host, path, headers=None, auto_redirect=False):
         res = self.request('HEAD', host, path, headers, 
-            data = None, raise_on_not_ok = False,
-            auto_redirect = auto_redirect)
+            data=None, raise_on_not_ok=False,
+            auto_redirect=auto_redirect)
         res.read()
         return res.status, res.getheaders()
         
@@ -167,7 +167,7 @@ class HTTPPersistentConnection(object):
 
 class HTTPConnection(HTTPPersistentConnection):
     def request(self, method, host, path, headers, data,
-            raise_on_not_ok = True, auto_redirect = True):
+            raise_on_not_ok=True, auto_redirect=True):
         if not headers: headers = {}
         headers['Connection'] = 'Close'
         res = HTTPPersistentConnection.request(self, method, host, path, headers, data, 
@@ -180,12 +180,12 @@ class HTTPSPersistentConnection(HTTPPersistentConnection):
 
     
 class HTTPPool(list):
-    def __init__(self, clients_useragent = None):
+    def __init__(self, clients_useragent=None):
         list.__init__(self)
         self.cookies = {}
         self.clients_useragent = clients_useragent
 
-    def find_connection(self, host, scheme = 'http'):
+    def find_connection(self, host, scheme='http'):
         if type(host) is tuple:
             scheme, host = host
             
@@ -214,13 +214,13 @@ class HTTPPool(list):
         conn = cls(host, self, self.clients_useragent)
         self.append(([(scheme, host)], conn))
         return conn
-    def get(self, host, path, headers = None):
+    def get(self, host, path, headers=None):
         return self.find_connection(host).get(host, 
             path, headers)
-    def post(self, host, path, headers = None, data = None):
+    def post(self, host, path, headers=None, data=None):
         return self.find_connection(host).post(host, 
             path, headers, data)
-    def head(self, host, path, headers = None, auto_redirect = False):
+    def head(self, host, path, headers=None, auto_redirect=False):
         return self.find_connection(host).head(host, 
             path, headers, auto_redirect)
     def request(self, method, host, path, headers, data,
diff --git a/mwclient/listing.py b/mwclient/listing.py
index c3f3f0f..4ae49c4 100644
--- a/mwclient/listing.py
+++ b/mwclient/listing.py
@@ -2,7 +2,7 @@ import client, page
 import compatibility
 
 class List(object):
-    def __init__(self, site, list_name, prefix, limit = None, return_values = None, max_items = None, *args, **kwargs):
+    def __init__(self, site, list_name, prefix, limit=None, return_values=None, max_items=None, *args, **kwargs):
         # NOTE: Fix limit
         self.site = site
         self.list_name = list_name
@@ -27,7 +27,7 @@ class List(object):
     def __iter__(self):
         return self
         
-    def next(self, full = False):
+    def next(self, full=False):
         if self.max_items is not None:
             if self.count >= self.max_items:
                 raise StopIteration
@@ -48,7 +48,7 @@ class List(object):
         except StopIteration:
             if self.last: raise StopIteration
             self.load_chunk()
-            return List.next(self, full = full)
+            return List.next(self, full=full)
             
     def load_chunk(self):
         data = self.site.api('query', (self.generator, self.list_name), *[(str(k), v) for k, v in self.args.iteritems()])
@@ -82,14 +82,14 @@ class List(object):
                 yield _prefix + key, value
 
     @staticmethod
-    def get_prefix(prefix, generator = False):
+    def get_prefix(prefix, generator=False):
         if generator:
             return 'g' + prefix
         else:
             return prefix
 
     @staticmethod
-    def get_list(generator = False):
+    def get_list(generator=False):
         if generator:
             return GeneratorList
         else:
@@ -112,7 +112,7 @@ class GeneratorList(List):
         self.page_class = page.Page
         
     def next(self):
-        info = List.next(self, full = True)
+        info = List.next(self, full=True)
         if info['ns'] == 14:
             return Category(self.site, u'', info)
         if info['ns'] == 6:
@@ -127,27 +127,27 @@ class GeneratorList(List):
         
     
 class Category(page.Page, GeneratorList):
-    def __init__(self, site, name, info = None, namespace = None):
+    def __init__(self, site, name, info=None, namespace=None):
         page.Page.__init__(self, site, name, info)
         kwargs = {}
         kwargs.update((compatibility.cmtitle(self, self.site.require(
-            1, 12, raise_error = False), prefix = 'gcm'), ))
+            1, 12, raise_error=False), prefix='gcm'), ))
         if namespace: kwargs['gcmnamespace'] = namespace
         GeneratorList.__init__(self, site, 'categorymembers', 'cm', **kwargs)
 
     def __repr__(self):
         return "<Category object '%s' for %s>" % (self.name.encode('utf-8'), self.site)
 
-    def members(self, prop = 'ids|title', namespace = None, sort = 'sortkey', 
-            dir = 'asc', start = None, end = None, generator = True):
+    def members(self, prop='ids|title', namespace=None, sort='sortkey', 
+            dir='asc', start=None, end=None, generator=True):
         prefix = self.get_prefix('cm', generator)
-        kwargs = dict(self.generate_kwargs(prefix, prop = prop, namespace = namespace,
-            sort = sort, dir = dir, start = start, end = end, *(compatibility.cmtitle(
-            self, self.site.require(1, 12, raise_error = False)), )))
+        kwargs = dict(self.generate_kwargs(prefix, prop=prop, namespace=namespace,
+            sort=sort, dir=dir, start=start, end=end, *(compatibility.cmtitle(
+            self, self.site.require(1, 12, raise_error=False)), )))
         return self.get_list(generator)(self.site, 'categorymembers', 'cm', **kwargs)
         
 class PageList(GeneratorList):
-    def __init__(self, site, prefix = None, start = None, namespace = 0, redirects = 'all'):
+    def __init__(self, site, prefix=None, start=None, namespace=0, redirects='all'):
         self.namespace = namespace
         
         kwargs = {}
@@ -155,12 +155,12 @@ class PageList(GeneratorList):
         if start: kwargs['apfrom'] = start
             
         GeneratorList.__init__(self, site, 'allpages', 'ap',
-            apnamespace = str(namespace), apfilterredir = redirects, **kwargs)
+            apnamespace=str(namespace), apfilterredir=redirects, **kwargs)
 
     def __getitem__(self, name):
         return self.get(name, None)
 
-    def get(self, name, info = ()):
+    def get(self, name, info=()):
         if self.namespace == 14:
             return Category(self.site, self.site.namespaces[14] + ':' + name, info)
         elif self.namespace == 6:
@@ -191,7 +191,7 @@ class PageList(GeneratorList):
         
 class PageProperty(List):
     def __init__(self, page, prop, prefix, *args, **kwargs):
-        List.__init__(self, page.site, prop, prefix, titles = page.name, *args, **kwargs)
+        List.__init__(self, page.site, prop, prefix, titles=page.name, *args, **kwargs)
         self.page = page
         self.generator = 'prop'
 
@@ -205,7 +205,7 @@ class PageProperty(List):
         
 class PagePropertyGenerator(GeneratorList):
     def __init__(self, page, prop, prefix, *args, **kwargs):
-        GeneratorList.__init__(self, page.site, prop, prefix, titles = page.name, *args, **kwargs)
+        GeneratorList.__init__(self, page.site, prop, prefix, titles=page.name, *args, **kwargs)
         self.page = page
 
 class RevisionsIterator(PageProperty):
diff --git a/mwclient/page.py b/mwclient/page.py
index 0c6ba34..fee2542 100644
--- a/mwclient/page.py
+++ b/mwclient/page.py
@@ -5,7 +5,7 @@ from page_nowriteapi import OldPage
 import urllib, urlparse, time
     
 class Page(object):
-    def __init__(self, site, name, info = None, extra_properties = {}):
+    def __init__(self, site, name, info=None, extra_properties={}):
         if type(name) is type(self):
             return self.__dict__.update(name.__dict__)
         self.site = site
@@ -22,11 +22,11 @@ class Page(object):
                 extra_props = ()
             
             if type(name) is int:
-                info = self.site.api('query', prop = prop, pageids = name, 
-                    inprop = 'protection', *extra_props)
+                info = self.site.api('query', prop=prop, pageids=name, 
+                    inprop='protection', *extra_props)
             else:
-                info = self.site.api('query', prop = prop, titles = name, 
-                    inprop = 'protection', *extra_props)
+                info = self.site.api('query', prop=prop, titles=name, 
+                    inprop='protection', *extra_props)
             info = info['query']['pages'].itervalues().next()
         self._info = info
                 
@@ -49,7 +49,7 @@ class Page(object):
 
     def redirects_to(self):
         """ Returns the redirect target page, or None if the page is not a redirect page."""
-        info = self.site.api('query', prop = 'pageprops', titles = self.name, redirects = '')['query']
+        info = self.site.api('query', prop='pageprops', titles=self.name, redirects='')['query']
         if 'redirects' in info:
             for page in info['redirects']:
                 if page['from'] == self.name:
@@ -95,14 +95,14 @@ class Page(object):
         
         return level in self.site.rights
         
-    def get_token(self, type, force = False):
+    def get_token(self, type, force=False):
         self.site.require(1, 11)
         
         if type not in self.site.tokens:
             self.site.tokens[type] = '0'
         if self.site.tokens.get(type, '0') == '0' or force:
-            info = self.site.api('query', titles = self.name,
-                prop = 'info', intoken = type)
+            info = self.site.api('query', titles=self.name,
+                prop='info', intoken=type)
             for i in info['query']['pages'].itervalues():
                 if i['title'] == self.name:
                     self.site.tokens[type] = i['%stoken' % type]
@@ -111,13 +111,13 @@ class Page(object):
     def get_expanded(self):
         self.site.require(1, 12)
         
-        revs = self.revisions(prop = 'content', limit = 1, expandtemplates = True)
+        revs = self.revisions(prop='content', limit=1, expandtemplates=True)
         try:
             return revs.next()['*']
         except StopIteration:
             return u''
             
-    def edit(self, section = None, readonly = False):
+    def edit(self, section=None, readonly=False):
         """Returns wikitext for a specified section or for the whole page.
         
         Retrieves the latest edit.
@@ -128,7 +128,7 @@ class Page(object):
         if not self.exists:
             return u''
             
-        revs = self.revisions(prop = 'content|timestamp', limit = 1, section = section)
+        revs = self.revisions(prop='content|timestamp', limit=1, section=section)
         try:
             rev = revs.next()
             self.text = rev['*']
@@ -141,7 +141,7 @@ class Page(object):
         self.edit_time = time.gmtime()
         return self.text
     
-    def save(self, text = u'', summary = u'', minor = False, bot = True, section = None, **kwargs):
+    def save(self, text=u'', summary=u'', minor=False, bot=True, section=None, **kwargs):
         """Save text of page."""
         if not self.site.logged_in and self.site.force_login:
             # Should we really check for this?
@@ -155,7 +155,7 @@ class Page(object):
         if not section: section = self.section
         
         if not self.site.writeapi:
-            return OldPage.save(self, text = text, summary = summary, minor = False)
+            return OldPage.save(self, text=text, summary=summary, minor=False)
         
         data = {}
         if minor: data['minor'] = '1'
@@ -168,8 +168,8 @@ class Page(object):
         data.update(kwargs)
         
         def do_edit():
-            result = self.site.api('edit', title = self.name, text = text, 
-                    summary = summary, token = self.get_token('edit'), 
+            result = self.site.api('edit', title=self.name, text=text, 
+                    summary=summary, token=self.get_token('edit'), 
                     **data)     
             if result['edit'].get('result').lower() == 'failure':
                 raise errors.EditError(self, result['edit'])
@@ -179,7 +179,7 @@ class Page(object):
         except errors.APIError, e:
             if e.code == 'badtoken':
                 # Retry, but only once to avoid an infinite loop
-                self.get_token('edit', force = True)
+                self.get_token('edit', force=True)
                 try:
                     result = do_edit()
                 except errors.APIError, e:
@@ -203,13 +203,13 @@ class Page(object):
     def get_expanded(self):
         self.site.require(1, 12)
         
-        revs = self.revisions(prop = 'content', limit = 1, expandtemplates = True)
+        revs = self.revisions(prop='content', limit=1, expandtemplates=True)
         try:
             return revs.next()['*']
         except StopIteration:
             return u''
             
-    def move(self, new_title, reason = '', move_talk = True, no_redirect = False):
+    def move(self, new_title, reason='', move_talk=True, no_redirect=False):
         """Move (rename) page to new_title.
 
         If user account is an administrator, specify no_direct as True to not
@@ -222,18 +222,18 @@ class Page(object):
         if not self.can('move'): raise errors.InsufficientPermission(self)
         
         if not self.site.writeapi:
-            return OldPage.move(self, new_title = new_title, 
-                reason = reason, move_talk = move_talk)
+            return OldPage.move(self, new_title=new_title, 
+                reason=reason, move_talk=move_talk)
         
         data = {}
         if move_talk: data['movetalk'] = '1'
         if no_redirect: data['noredirect'] = '1'
-        result = self.site.api('move', ('from', self.name), to = new_title, 
-            token = self.get_token('move'), reason = reason, **data)
+        result = self.site.api('move', ('from', self.name), to=new_title, 
+            token=self.get_token('move'), reason=reason, **data)
         return result['move']
         
             
-    def delete(self, reason = '', watch = False, unwatch = False, oldimage = False):
+    def delete(self, reason='', watch=False, unwatch=False, oldimage=False):
         """Delete page.
         
         If user does not have permission to delete page, an InsufficientPermission
@@ -243,15 +243,15 @@ class Page(object):
         if not self.can('delete'): raise errors.InsufficientPermission(self)
         
         if not self.site.writeapi:
-            return OldPage.delete(self, reason = reason)
+            return OldPage.delete(self, reason=reason)
         
         data = {}
         if watch: data['watch'] = '1'
         if unwatch: data['unwatch'] = '1'
         if oldimage: data['oldimage'] = oldimage
-        result = self.site.api('delete', title = self.name, 
-                token = self.get_token('delete'), 
-                reason = reason, **data)
+        result = self.site.api('delete', title=self.name, 
+                token=self.get_token('delete'), 
+                reason=reason, **data)
         return result['delete']
         
     def purge(self):
@@ -259,114 +259,114 @@ class Page(object):
         dynamic content.
         
         """
-        self.site.raw_index('purge', title = self.name)
+        self.site.raw_index('purge', title=self.name)
         
     # def watch: requires 1.14
         
     # Properties
-    def backlinks(self, namespace = None, filterredir = 'all', redirect = False, limit = None, generator = True):
+    def backlinks(self, namespace=None, filterredir='all', redirect=False, limit=None, generator=True):
         self.site.require(1, 9)
         # Fix title for < 1.11 !!
         prefix = listing.List.get_prefix('bl', generator)
         kwargs = dict(listing.List.generate_kwargs(prefix, 
-            namespace = namespace, filterredir = filterredir))
+            namespace=namespace, filterredir=filterredir))
         if redirect: kwargs['%sredirect' % prefix] = '1'
-        kwargs[compatibility.title(prefix, self.site.require(1, 11, raise_error = False))] = self.name
+        kwargs[compatibility.title(prefix, self.site.require(1, 11, raise_error=False))] = self.name
             
-        return listing.List.get_list(generator)(self.site, 'backlinks', 'bl', limit = limit, return_values = 'title', **kwargs)
+        return listing.List.get_list(generator)(self.site, 'backlinks', 'bl', limit=limit, return_values='title', **kwargs)
 
-    def categories(self, generator = True):
+    def categories(self, generator=True):
         self.site.require(1, 11)
         if generator:
             return listing.PagePropertyGenerator(self, 'categories', 'cl')
         else:
             # TODO: return sortkey if wanted
-            return listing.PageProperty(self, 'categories', 'cl', return_values = 'title')
+            return listing.PageProperty(self, 'categories', 'cl', return_values='title')
 
-    def embeddedin(self, namespace = None, filterredir = 'all', redirect = False, limit = None, generator = True):
+    def embeddedin(self, namespace=None, filterredir='all', redirect=False, limit=None, generator=True):
         self.site.require(1, 9)
         # Fix title for < 1.11 !!
         prefix = listing.List.get_prefix('ei', generator)
         kwargs = dict(listing.List.generate_kwargs(prefix,
-            namespace = namespace, filterredir = filterredir))
+            namespace=namespace, filterredir=filterredir))
         if redirect: kwargs['%sredirect' % prefix] = '1'
-        kwargs[compatibility.title(prefix, self.site.require(1, 11, raise_error = False))] = self.name
+        kwargs[compatibility.title(prefix, self.site.require(1, 11, raise_error=False))] = self.name
             
-        return listing.List.get_list(generator)(self.site, 'embeddedin', 'ei', limit = limit, return_values = 'title', **kwargs)
+        return listing.List.get_list(generator)(self.site, 'embeddedin', 'ei', limit=limit, return_values='title', **kwargs)
 
     def extlinks(self):
         self.site.require(1, 11)
-        return listing.PageProperty(self, 'extlinks', 'el', return_values = '*')
+        return listing.PageProperty(self, 'extlinks', 'el', return_values='*')
 
-    def images(self, generator = True):
+    def images(self, generator=True):
         self.site.require(1, 9)
         if generator:
             return listing.PagePropertyGenerator(self, 'images', '')
         else:
-            return listing.PageProperty(self, 'images', '', return_values = 'title')
+            return listing.PageProperty(self, 'images', '', return_values='title')
 
     def langlinks(self, **kwargs):
         self.site.require(1, 9)
-        return listing.PageProperty(self, 'langlinks', 'll', return_values = ('lang', '*'), **kwargs)
+        return listing.PageProperty(self, 'langlinks', 'll', return_values=('lang', '*'), **kwargs)
 
-    def links(self, namespace = None, generator = True, redirects = False):
+    def links(self, namespace=None, generator=True, redirects=False):
         self.site.require(1, 9)
-        kwargs = dict(listing.List.generate_kwargs('pl', namespace = namespace))
+        kwargs = dict(listing.List.generate_kwargs('pl', namespace=namespace))
         if redirects: kwargs['redirects'] = '1'
         if generator:
             return listing.PagePropertyGenerator(self, 'links', 'pl', **kwargs)
         else:
-            return listing.PageProperty(self, 'links', 'pl', return_values = 'title', **kwargs)
+            return listing.PageProperty(self, 'links', 'pl', return_values='title', **kwargs)
 
-    def revisions(self, startid = None, endid = None, start = None, end = None, 
-            dir = 'older', user = None, excludeuser = None, limit = 50, 
-             prop = 'ids|timestamp|flags|comment|user', expandtemplates = False, section = None):
+    def revisions(self, startid=None, endid=None, start=None, end=None, 
+            dir='older', user=None, excludeuser=None, limit=50, 
+             prop='ids|timestamp|flags|comment|user', expandtemplates=False, section=None):
         self.site.require(1, 8)
-        kwargs = dict(listing.List.generate_kwargs('rv', startid = startid, endid = endid,
-            start = start, end = end, user = user, excludeuser = excludeuser))
+        kwargs = dict(listing.List.generate_kwargs('rv', startid=startid, endid=endid,
+            start=start, end=end, user=user, excludeuser=excludeuser))
         kwargs['rvdir'] = dir
         kwargs['rvprop'] = prop
         if expandtemplates: kwargs['rvexpandtemplates'] = '1'
         if section: kwargs['rvsection'] = section
         
-        return listing.RevisionsIterator(self, 'revisions', 'rv', limit = limit, **kwargs)
+        return listing.RevisionsIterator(self, 'revisions', 'rv', limit=limit, **kwargs)
 
-    def templates(self, namespace = None, generator = True):
+    def templates(self, namespace=None, generator=True):
         self.site.require(1, 8)
-        kwargs = dict(listing.List.generate_kwargs('tl', namespace = namespace))
+        kwargs = dict(listing.List.generate_kwargs('tl', namespace=namespace))
         if generator:
             return listing.PagePropertyGenerator(self, 'templates', 'tl')
         else:
-            return listing.PageProperty(self, 'templates', 'tl', return_values = 'title')
+            return listing.PageProperty(self, 'templates', 'tl', return_values='title')
 
 class Image(Page):
-    def __init__(self, site, name, info = None):
+    def __init__(self, site, name, info=None):
         site.require(1, 11)
         Page.__init__(self, site, name, info,
-            extra_properties = {'imageinfo': (('iiprop', 
+            extra_properties={'imageinfo': (('iiprop', 
                 compatibility.iiprop(site.version)), )})
         self.imagerepository = self._info.get('imagerepository', '')
         self.imageinfo = self._info.get('imageinfo', ({}, ))[0]
 
     def imagehistory(self):
         return listing.PageProperty(self, 'imageinfo', 'ii', 
-            iiprop = compatibility.iiprop(self.site.version))
+            iiprop=compatibility.iiprop(self.site.version))
 
-    def imageusage(self, namespace = None, filterredir = 'all', redirect = False, 
-            limit = None, generator = True):
+    def imageusage(self, namespace=None, filterredir='all', redirect=False, 
+            limit=None, generator=True):
         self.site.require(1, 11)
         # TODO: Fix for versions < 1.11
         prefix = listing.List.get_prefix('iu', generator)
-        kwargs = dict(listing.List.generate_kwargs(prefix, title = self.name,
-            namespace = namespace, filterredir = filterredir))
+        kwargs = dict(listing.List.generate_kwargs(prefix, title=self.name,
+            namespace=namespace, filterredir=filterredir))
         if redirect: kwargs['%sredirect' % prefix] = '1'
         return listing.List.get_list(generator)(self.site, 'imageusage', 'iu', 
-            limit = limit, return_values = 'title', **kwargs)
+            limit=limit, return_values='title', **kwargs)
 
-    def duplicatefiles(self, limit = None):
+    def duplicatefiles(self, limit=None):
         self.require(1, 14)
         return listing.PageProperty(self, 'duplicatefiles', 'df',
-            dflimit = limit)
+            dflimit=limit)
 
     def download(self):
         url = self.imageinfo['url']
diff --git a/mwclient/page_nowriteapi.py b/mwclient/page_nowriteapi.py
index 4ae08eb..81e97ef 100644
--- a/mwclient/page_nowriteapi.py
+++ b/mwclient/page_nowriteapi.py
@@ -6,7 +6,7 @@ import errors
 
 class OldPage(object):
     @staticmethod
-    def save(self, text = u'', summary = u'', minor = False):
+    def save(self, text=u'', summary=u'', minor=False):
         data = {}
         data['wpTextbox1'] = text
         data['wpSummary'] = summary
@@ -37,7 +37,7 @@ class OldPage(object):
             raise errors.EditError(page.title, data)
 
     @staticmethod
-    def move(self, new_title, reason = '', move_talk = True):
+    def move(self, new_title, reason='', move_talk=True):
         postdata = {'wpNewTitle': new_title,
             'wpOldTitle': self.name,
             'wpReason': reason,
@@ -56,7 +56,7 @@ class OldPage(object):
             raise errors.EditError(page.title, postdata)
             
     @staticmethod
-    def delete(self, reason = ''):
+    def delete(self, reason=''):
         postdata = {'wpReason': reason,
             'wpConfirmB': 'Delete',
             'mw-filedelete-submit': 'Delete',
diff --git a/mwclient/upload.py b/mwclient/upload.py
index 1edaeff..a84d7e3 100644
--- a/mwclient/upload.py
+++ b/mwclient/upload.py
@@ -36,7 +36,7 @@ class UploadRawData(Upload):
     """
     This upload class is simply a wrapper around StringIO 
     """
-    def __init__(self, data, content_type = 'application/x-www-form-urlencoded'):
+    def __init__(self, data, content_type='application/x-www-form-urlencoded'):
         self.fstr = StringIO(data)
         Upload.__init__(self, len(data), content_type)
     def read(self, length = -1):
-- 
GitLab