Krenair

MCP Stats

Jul 17th, 2012
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.23 KB | None | 0 0
  1. import ContributorTools
  2.  
  3. stats = {
  4.   'client': {
  5.     'methods': {'total': 0, 'renamed': 0, 'unnamed': 0},
  6.     'fields': {'total': 0, 'renamed': 0, 'unnamed': 0},
  7.     'both': {'total': 0, 'renamed': 0, 'unnamed': 0}
  8.   },
  9.   'server': {
  10.     'methods': {'total': 0, 'renamed': 0, 'unnamed': 0},
  11.     'fields': {'total': 0, 'renamed': 0, 'unnamed': 0},
  12.     'both': {'total': 0, 'renamed': 0, 'unnamed': 0}
  13.   },
  14.   'both': {
  15.     'methods': {'total': 0, 'renamed': 0, 'unnamed': 0},
  16.     'fields': {'total': 0, 'renamed': 0, 'unnamed': 0},
  17.     'both': {'total': 0, 'renamed': 0, 'unnamed': 0}
  18.   }
  19. }
  20.  
  21. def recordStat(side, memberType, stat):
  22.     stats[side][memberType][stat] += 1
  23.     stats[side]['both'][stat] += 1
  24.     stats['both'][memberType][stat] += 1
  25.     stats['both']['both'][stat] += 1
  26.  
  27. for side, sideMembers in ContributorTools.getAllMembers().items():
  28.     sideName = {'0': 'client', '1': 'server'}[side]
  29.     for name, info in sideMembers.items():
  30.         memberType = {'func_': 'methods', 'field': 'fields'}[info['searge'][:5]]
  31.         recordStat(sideName, memberType, 'total')
  32.  
  33.         if info['searge'] == info['name'] and info['desc'] == '':
  34.             recordStat(sideName, memberType, 'unnamed')
  35.         else:
  36.             recordStat(sideName, memberType, 'renamed')
  37.  
  38. def output(d):
  39.     p = str(round(float(d['renamed']) / float(d['total']) * 100, 2)).ljust(5, '0')
  40.     return ' T ' + str(d['total']) + ' | R ' + str(d['renamed']) + ' | U ' + str(d['unnamed']) + ' | ' + p + '%'
  41.  
  42. def outputBig(d):
  43.     p = str(round(float(d['renamed']) / float(d['total']) * 100, 2)).ljust(5, '0')
  44.     return ' T' + str(d['total']) + ' | R' + str(d['renamed']) + ' | U' + str(d['unnamed']) + ' | ' + p + '%'        
  45.  
  46. print '[C][METHODS] :' + output(stats['client']['methods'])
  47. print '[C][ FIELDS] :' + output(stats['client']['fields'])
  48. print '[C][   BOTH] :' + output(stats['client']['both'])
  49. print '[S][METHODS] :' + output(stats['server']['methods'])
  50. print '[S][ FIELDS] :' + output(stats['server']['fields'])
  51. print '[S][   BOTH] :' + output(stats['server']['both'])
  52. print '[B][METHODS] :' + output(stats['both']['methods'])
  53. print '[B][ FIELDS] :' + output(stats['both']['fields'])
  54. print '[B][   BOTH] :' + outputBig(stats['both']['both'])
Advertisement
Add Comment
Please, Sign In to add comment