Plugins/CheckerPlugins/CodeStyleChecker/MiscellaneousChecker.py

changeset 4510
43437fc9f4c9
parent 4509
7797ee4a45f9
child 4511
b5e4e7efa904
--- a/Plugins/CheckerPlugins/CodeStyleChecker/MiscellaneousChecker.py	Wed Oct 28 19:47:16 2015 +0100
+++ b/Plugins/CheckerPlugins/CodeStyleChecker/MiscellaneousChecker.py	Wed Oct 28 20:15:46 2015 +0100
@@ -163,9 +163,16 @@
             # don't do anything, if no codes were selected
             return
         
+        source = "".join(self.__source)
+        # Check type for py2: if not str it's unicode
+        if sys.version_info[0] == 2:
+            try:
+                source = source.encode('utf-8')
+            except UnicodeError:
+                pass
         try:
-            self.__tree = compile(
-                ''.join(self.__source), '', 'exec', ast.PyCF_ONLY_AST)
+            self.__tree = compile(source, self.__filename, 'exec',
+                                  ast.PyCF_ONLY_AST)
         except (SyntaxError, TypeError):
             self.__reportInvalidSyntax()
             return

eric ide

mercurial