diff --git a/Lib/wsgiref/handlers.py b/Lib/wsgiref/handlers.py
index 52771a2..22e7317 100644
--- a/Lib/wsgiref/handlers.py
+++ b/Lib/wsgiref/handlers.py
@@ -209,7 +209,7 @@
         assert type(data) is StringType,"write() argument must be string"
 
         if not self.status:
-             raise AssertionError("write() before start_response()")
+            raise AssertionError("write() before start_response()")
 
         elif not self.headers_sent:
             # Before the first output, send the stored headers
@@ -473,20 +473,3 @@
             self, sys.stdin, sys.stdout, sys.stderr, dict(os.environ.items()),
             multithread=False, multiprocess=True
         )
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Lib/wsgiref/headers.py b/Lib/wsgiref/headers.py
index fa9b829..f1ebb03 100644
--- a/Lib/wsgiref/headers.py
+++ b/Lib/wsgiref/headers.py
@@ -187,19 +187,3 @@
             else:
                 parts.append(_formatparam(k.replace('_', '-'), v))
         self._headers.append((_name, "; ".join(parts)))
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Lib/wsgiref/simple_server.py b/Lib/wsgiref/simple_server.py
index e171686..1a892da 100644
--- a/Lib/wsgiref/simple_server.py
+++ b/Lib/wsgiref/simple_server.py
@@ -191,15 +191,3 @@
     import webbrowser
     webbrowser.open('http://localhost:8000/xyz?abc')
     httpd.handle_request()  # serve one request, then exit
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Lib/wsgiref/util.py b/Lib/wsgiref/util.py
index 78ebb3b..3a81030 100644
--- a/Lib/wsgiref/util.py
+++ b/Lib/wsgiref/util.py
@@ -59,10 +59,10 @@
 
         if environ['wsgi.url_scheme'] == 'https':
             if environ['SERVER_PORT'] != '443':
-               url += ':' + environ['SERVER_PORT']
+                url += ':' + environ['SERVER_PORT']
         else:
             if environ['SERVER_PORT'] != '80':
-               url += ':' + environ['SERVER_PORT']
+                url += ':' + environ['SERVER_PORT']
 
     url += quote(environ.get('SCRIPT_NAME') or '/')
     return url
@@ -171,35 +171,3 @@
 def is_hop_by_hop(header_name):
     """Return true if 'header_name' is an HTTP/1.1 "Hop-by-Hop" header"""
     return _hoppish(header_name.lower())
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Lib/wsgiref/validate.py b/Lib/wsgiref/validate.py
index e72c507..934822b 100644
--- a/Lib/wsgiref/validate.py
+++ b/Lib/wsgiref/validate.py
@@ -426,4 +426,3 @@
     assert not isinstance(iterator, str), (
         "You should not return a string as your application iterator, "
         "instead return a single-item list containing that string.")
-
