s4/scripting/bin: open unicode files with utf8 encoding and write unicode string
[sfrench/samba-autobuild/.git] / source4 / scripting / bin / gen_werror.py
index 700ccaf140073b232bbf4cd91adb2e7c5ccfbdc4..6280d2d388379538fde047ff2e6df07418c004a4 100755 (executable)
@@ -20,6 +20,9 @@
 # You should have received a copy of the GNU General Public License
 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #
+from __future__ import unicode_literals
+# this file is a bin script and was not imported by any other modules
+# so it should be fine to enable unicode string for python2
 
 import sys, os.path, io, string
 from gen_error_common import parseErrorDescriptions, ErrorDef
@@ -135,20 +138,20 @@ def main():
         print("usage: %s winerrorfile headerfile sourcefile pythonfile" % sys.argv[0])
         sys.exit()
 
-    input_file = open(input_file_name, "r")
+    input_file = io.open(input_file_name, "rt", encoding='utf8')
     errors = parseErrorDescriptions(input_file, True, transformErrorName)
     input_file.close()
 
     print("writing new header file: %s" % gen_headerfile_name)
-    out_file = open(gen_headerfile_name, "w")
+    out_file = io.open(gen_headerfile_name, "wt", encoding='utf8')
     generateHeaderFile(out_file, errors)
     out_file.close()
     print("writing new source file: %s" % gen_sourcefile_name)
-    out_file = open(gen_sourcefile_name, "w")
+    out_file = io.open(gen_sourcefile_name, "wt", encoding='utf8')
     generateSourceFile(out_file, errors)
     out_file.close()
     print("writing new python file: %s" % gen_pythonfile_name)
-    out_file = open(gen_pythonfile_name, "w")
+    out_file = io.open(gen_pythonfile_name, "wt", encoding='utf8')
     generatePythonFile(out_file, errors)
     out_file.close()