RadonMetrics/CodeMetricsCalculator.py

changeset 9
7f6e04213998
parent 6
13e9698a9981
child 10
8b1920a22df3
--- a/RadonMetrics/CodeMetricsCalculator.py	Wed Sep 16 20:07:48 2015 +0200
+++ b/RadonMetrics/CodeMetricsCalculator.py	Thu Sep 17 19:57:14 2015 +0200
@@ -11,6 +11,7 @@
     pass
 
 import multiprocessing
+import sys
 
 
 def initService():
@@ -136,7 +137,7 @@
         res = __raw2Dict(analyze(text))
     except Exception as err:
         res = {"error": str(err)}
-    return (res, )
+    return ("raw", res)
 
 
 def __raw2Dict(obj):
@@ -170,10 +171,18 @@
     @rtype (tuple of dict)
     """
     from radon.metrics import mi_visit, mi_rank
+    
+    # Check type for py2: if not str it's unicode
+    if sys.version_info[0] == 2:
+        try:
+            text = text.encode('utf-8')
+        except UnicodeError:
+            pass
+    
     try:
-        mi = mi_visit(text)
+        mi = mi_visit(text, True)
         rank = mi_rank(mi)
         res = {"mi": mi, "rank": rank}
     except Exception as err:
         res = {"error": str(err)}
-    return (res, )
+    return ("mi", res)

eric ide

mercurial