diff --git a/Lib/dircache.py b/Lib/dircache.py
index 6171ff8..be2f314 100644
--- a/Lib/dircache.py
+++ b/Lib/dircache.py
@@ -11,9 +11,9 @@
 cache = {}
 
 def reset():
-      """Reset the cache completely."""
-      global cache
-      cache = {}
+    """Reset the cache completely."""
+    global cache
+    cache = {}
 
 def listdir(path):
     """List directory contents, using cache."""
diff --git a/Lib/inspect.py b/Lib/inspect.py
index a7c7859..57f991c 100644
--- a/Lib/inspect.py
+++ b/Lib/inspect.py
@@ -643,5 +643,3 @@
 def trace(context=1):
     """Return a list of records for the stack below the current exception."""
     return getinnerframes(sys.exc_traceback, context)
-
-
diff --git a/Lib/pydoc.py b/Lib/pydoc.py
index 607458b..b64e78e 100755
--- a/Lib/pydoc.py
+++ b/Lib/pydoc.py
@@ -1032,7 +1032,7 @@
         children = []
         for file in os.listdir(dir):
             path = os.path.join(dir, file)
-            if ispackage(path): 
+            if ispackage(path):
                 children.append((path, package + (package and '.') + file))
             else:
                 children.append((path, package))
@@ -1416,5 +1416,3 @@
 """ % (cmd, os.sep, cmd, cmd, cmd, cmd, os.sep)
 
 if __name__ == '__main__': cli()
-
-
diff --git a/Lib/test/test_scope.py b/Lib/test/test_scope.py
index 4bd8ed7..5df0328 100644
--- a/Lib/test/test_scope.py
+++ b/Lib/test/test_scope.py
@@ -388,7 +388,7 @@
 
 class Foo:
     count = 0
-    
+
     def __init__(self):
         Foo.count += 1
 
@@ -400,9 +400,8 @@
     def f2():
         return x
     f2()
-    
+
 for i in range(100):
     f1()
 
 verify(Foo.count == 0)
-
diff --git a/Lib/urllib2.py b/Lib/urllib2.py
index a1e157b..d03d8fb 100644
--- a/Lib/urllib2.py
+++ b/Lib/urllib2.py
@@ -640,7 +640,7 @@
 
     def http_error_401(self, req, fp, code, msg, headers):
         host = urlparse.urlparse(req.get_full_url())[1]
-        return self.http_error_auth_reqed('www-authenticate', 
+        return self.http_error_auth_reqed('www-authenticate',
                                           host, req, headers)
 
 
@@ -650,7 +650,7 @@
 
     def http_error_407(self, req, fp, code, msg, headers):
         host = req.get_host()
-        return self.http_error_auth_reqed('proxy-authenticate', 
+        return self.http_error_auth_reqed('proxy-authenticate',
                                           host, req, headers)
 
 
diff --git a/Lib/whichdb.py b/Lib/whichdb.py
index fe54cc5..8687b71 100644
--- a/Lib/whichdb.py
+++ b/Lib/whichdb.py
@@ -6,7 +6,7 @@
     endsep = "/"
 else:
     endsep = "."
- 
+
 def whichdb(filename):
     """Guess which db package to use to open a db file.
 
