DataViews/CodeMetrics.py

changeset 406
eacf81fad150
parent 96
9624a110667d
child 791
9ec2ac20e54e
equal deleted inserted replaced
405:374066392929 406:eacf81fad150
55 55
56 # convert eols 56 # convert eols
57 text = Utilities.convertLineEnds(text, os.linesep) 57 text = Utilities.convertLineEnds(text, os.linesep)
58 58
59 if not text.endswith(os.linesep): 59 if not text.endswith(os.linesep):
60 text = "%s%s" % (text, os.linesep) 60 text = "{0}{1}".format(text, os.linesep)
61 61
62 self.lines = text.count(os.linesep) 62 self.lines = text.count(os.linesep)
63 63
64 source = io.BytesIO(text.encode("utf-8")) 64 source = io.BytesIO(text.encode("utf-8"))
65 try: 65 try:
75 toktype = KEYWORD 75 toktype = KEYWORD
76 self.__addToken(toktype, toktext, srow, scol, line) 76 self.__addToken(toktype, toktext, srow, scol, line)
77 else: 77 else:
78 self.__addToken(toktype, toktext, srow, scol, line) 78 self.__addToken(toktype, toktext, srow, scol, line)
79 except tokenize.TokenError as msg: 79 except tokenize.TokenError as msg:
80 print("Token Error: %s" % str(msg)) 80 print("Token Error: {0}".format(str(msg)))
81 return 81 return
82 82
83 return 83 return
84 84
85 def __addToken(self, toktype, toktext, srow, scol, line): 85 def __addToken(self, toktype, toktext, srow, scol, line):
173 counters = self.counters.get(id, {}) 173 counters = self.counters.get(id, {})
174 msg = spacer + label.ljust(label_len) 174 msg = spacer + label.ljust(label_len)
175 175
176 for key in ('start', 'end', 'lines', 'nloc', 'comments', 'empty'): 176 for key in ('start', 'end', 'lines', 'nloc', 'comments', 'empty'):
177 if counters.get(key, 0): 177 if counters.get(key, 0):
178 msg += " %5d" % (counters[key],) 178 msg += " {0:d}".format(counters[key])
179 else: 179 else:
180 msg += " " * 6 180 msg += " " * 6
181 181
182 print(msg) 182 print(msg)
183 183
274 stats.dump() 274 stats.dump()
275 275
276 print("\nSummary") 276 print("\nSummary")
277 for key in ['files', 'lines', 'bytes', 'comments', 277 for key in ['files', 'lines', 'bytes', 'comments',
278 'empty lines', 'non-commentary lines']: 278 'empty lines', 'non-commentary lines']:
279 print(key.ljust(20) + "%6d" % total[key]) 279 print(key.ljust(20) + "{0:d}".format(total[key]))
280 280
281 sys.exit(0) 281 sys.exit(0)
282 282
283 if __name__ == "__main__": 283 if __name__ == "__main__":
284 main() 284 main()

eric ide

mercurial