Index: src/mongo/base/generate_error_codes.py
--- src/mongo/base/generate_error_codes.py.orig
+++ src/mongo/base/generate_error_codes.py
@@ -26,7 +26,6 @@
 # delete this exception statement from your version. If you delete this
 # exception statement from all source files in the program, then also delete
 # it in the license file.
-
 """Generate error_codes.{h,cpp} from error_codes.err.
 
 Format of error_codes.err:
@@ -51,10 +50,9 @@ def render_template(template_path, **kw):
        returns the result as a string'''
 
     template = Template.compile(
-            file=template_path,
-            compilerSettings=dict(directiveStartToken="//#",directiveEndToken="//#"),
-            baseclass=dict,
-            useCache=False)
+         file=template_path,
+         compilerSettings=dict(directiveStartToken="//#", directiveEndToken="//#",
+                               commentStartToken="//##"), baseclass=dict, useCache=False)
     return str(template(**kw))
 
 class ErrorCode:
@@ -63,11 +61,13 @@ class ErrorCode:
         self.code = code
         self.categories = []
 
+
 class ErrorClass:
     def __init__(self, name, codes):
         self.name = name
         self.codes = codes
 
+
 def main(argv):
     # Parse and validate argv.
     if len(sys.argv) < 2:
@@ -94,7 +94,7 @@ def main(argv):
                 categories=error_classes,
                 )
 
-        with open(output, 'wb') as outfile:
+        with open(output, 'w') as outfile:
             outfile.write(text)
 
 def die(message=None):
@@ -126,6 +126,7 @@ def check_for_conflicts(error_codes, error_classes):
     if failed:
         die()
 
+
 def has_duplicate_error_codes(error_codes):
     sorted_by_name = sorted(error_codes, key=lambda x: x.name)
     sorted_by_code = sorted(error_codes, key=lambda x: x.code)
@@ -134,21 +135,22 @@ def has_duplicate_error_codes(error_codes):
     prev = sorted_by_name[0]
     for curr in sorted_by_name[1:]:
         if curr.name == prev.name:
-            sys.stdout.write('Duplicate name %s with codes %s and %s\n'
-                    % (curr.name, curr.code, prev.code))
+            sys.stdout.write(
+                'Duplicate name %s with codes %s and %s\n' % (curr.name, curr.code, prev.code))
             failed = True
         prev = curr
 
     prev = sorted_by_code[0]
     for curr in sorted_by_code[1:]:
         if curr.code == prev.code:
-            sys.stdout.write('Duplicate code %s with names %s and %s\n'
-                    % (curr.code, curr.name, prev.name))
+            sys.stdout.write(
+                'Duplicate code %s with names %s and %s\n' % (curr.code, curr.name, prev.name))
             failed = True
         prev = curr
 
     return failed
 
+
 def has_duplicate_error_classes(error_classes):
     names = sorted(ec.name for ec in error_classes)
 
@@ -161,6 +163,7 @@ def has_duplicate_error_classes(error_classes):
         prev_name = name
     return failed
 
+
 def has_missing_error_codes(error_codes, error_classes):
     code_names = dict((ec.name, ec) for ec in error_codes)
     failed = False
@@ -173,6 +176,7 @@ def has_missing_error_codes(error_codes, error_classes
                 failed = True
 
     return failed
+
 
 if __name__ == '__main__':
     main(sys.argv)
