eric6/DataViews/CodeMetrics.py

branch
without_py2_and_pyqt4
changeset 7192
a22eee00b052
parent 6942
2602857055c5
child 7229
53054eb5b15a
equal deleted inserted replaced
7191:960850ec284c 7192:a22eee00b052
16 16
17 from __future__ import unicode_literals 17 from __future__ import unicode_literals
18 18
19 import os 19 import os
20 import io 20 import io
21 import sys
22 import keyword 21 import keyword
23 import token 22 import token
24 import tokenize 23 import tokenize
25 24
26 import Utilities 25 import Utilities
66 65
67 self.lines = text.count(os.linesep) 66 self.lines = text.count(os.linesep)
68 67
69 source = io.BytesIO(text.encode("utf-8")) 68 source = io.BytesIO(text.encode("utf-8"))
70 try: 69 try:
71 if sys.version_info[0] == 2: 70 gen = tokenize.tokenize(source.readline)
72 gen = tokenize.generate_tokens(source.readline)
73 else:
74 gen = tokenize.tokenize(source.readline)
75 for toktype, toktext, start, end, line in gen: 71 for toktype, toktext, start, end, line in gen:
76 (srow, scol) = start 72 (srow, scol) = start
77 (erow, ecol) = end 73 (erow, ecol) = end
78 if toktype in [token.NEWLINE, tokenize.NL]: 74 if toktype in [token.NEWLINE, tokenize.NL]:
79 self.__addToken(toktype, os.linesep, srow, scol, line) 75 self.__addToken(toktype, os.linesep, srow, scol, line)

eric ide

mercurial