DataViews/CodeMetrics.py

branch
Py2 comp.
changeset 2602
affc66a603c7
parent 2525
8b507a9a2d40
child 3057
10516539f238
equal deleted inserted replaced
2601:f415080106ba 2602:affc66a603c7
16 16
17 from __future__ import unicode_literals # __IGNORE_WARNING__ 17 from __future__ import unicode_literals # __IGNORE_WARNING__
18 18
19 import os 19 import os
20 import io 20 import io
21 import sys
21 import keyword 22 import keyword
22 import token 23 import token
23 import tokenize 24 import tokenize
24 25
25 import Utilities 26 import Utilities
65 66
66 self.lines = text.count(os.linesep) 67 self.lines = text.count(os.linesep)
67 68
68 source = io.BytesIO(text.encode("utf-8")) 69 source = io.BytesIO(text.encode("utf-8"))
69 try: 70 try:
70 gen = tokenize.tokenize(source.readline) 71 if sys.version_info[0] == 2:
72 gen = tokenize.generate_tokens(source.readline)
73 else:
74 gen = tokenize.tokenize(source.readline)
71 for toktype, toktext, start, end, line in gen: 75 for toktype, toktext, start, end, line in gen:
72 (srow, scol) = start 76 (srow, scol) = start
73 (erow, ecol) = end 77 (erow, ecol) = end
74 if toktype in [token.NEWLINE, tokenize.NL]: 78 if toktype in [token.NEWLINE, tokenize.NL]:
75 self.__addToken(toktype, os.linesep, srow, scol, line) 79 self.__addToken(toktype, os.linesep, srow, scol, line)

eric ide

mercurial