def checkNames(clientinfo, serverinfo): if not ContributorTools.isSeargeName(clientinfo["name"]) and ContributorTools.isSeargeName(serverinfo["name"]): safeOutput( "0", serverinfo["name"], "pc" + serverinfo["searge"][1].replace("u", "m").replace("i", "f") + " " + clientinfo["searge"] + " " + serverinfo["searge"], ) elif ContributorTools.isSeargeName(clientinfo["name"]) and not ContributorTools.isSeargeName(serverinfo["name"]): safeOutput( "1", clientinfo["name"], "ps" + clientinfo["searge"][1].replace("u", "m").replace("i", "f") + " " + serverinfo["searge"] + " " + clientinfo["searge"], )
ContributorTools.haveOutputted = False def checkDifferentDescriptions (clientinfo, serverinfo): try: maxDistance = sys.argv[1] except: maxDistance = 5 if clientinfo['name'] != serverinfo['name'] and Levenshtein.distance(clientinfo['name'], serverinfo['name']) <= maxDistance: output(clientinfo, serverinfo) elif clientinfo['name'] != serverinfo['name'] and clientinfo['name'].lower() == serverinfo['name'].lower(): output(clientinfo, serverinfo) elif clientinfo['desc'] != serverinfo['desc'] and Levenshtein.distance(clientinfo['desc'], serverinfo['desc']) <= maxDistance: output(clientinfo, serverinfo) elif clientinfo['desc'] != serverinfo['desc'] and clientinfo['desc'].lower() == serverinfo['desc'].lower(): output(clientinfo, serverinfo) def output(clientinfo, serverinfo): if ContributorTools.haveOutputted: print '----' ContributorTools.haveOutputted = True print 'Client name:', clientinfo['name'], '(' + clientinfo['searge'] + ')' print 'Client description:', clientinfo['desc'] print 'Server name:', serverinfo['name'], '(' + serverinfo['searge'] + ')' print 'Server description:', serverinfo['desc'] ContributorTools.forEachMember(checkDifferentDescriptions)
serverinfo["name"], "pc" + serverinfo["searge"][1].replace("u", "m").replace("i", "f") + " " + clientinfo["searge"] + " " + serverinfo["searge"], ) elif ContributorTools.isSeargeName(clientinfo["name"]) and not ContributorTools.isSeargeName(serverinfo["name"]): safeOutput( "1", clientinfo["name"], "ps" + clientinfo["searge"][1].replace("u", "m").replace("i", "f") + " " + serverinfo["searge"] + " " + clientinfo["searge"], ) def safeOutput(side, name, out): for member in ContributorTools.members[side].values(): if member["name"] == name: print "POSSIBLY BROKEN:", out print out ContributorTools.forEachMember(checkNames)
'both': {'total': 0, 'renamed': 0, 'unnamed': 0} }, 'both': { 'methods': {'total': 0, 'renamed': 0, 'unnamed': 0}, 'fields': {'total': 0, 'renamed': 0, 'unnamed': 0}, 'both': {'total': 0, 'renamed': 0, 'unnamed': 0} } } def recordStat(side, memberType, stat): stats[side][memberType][stat] += 1 stats[side]['both'][stat] += 1 stats['both'][memberType][stat] += 1 stats['both']['both'][stat] += 1 for side, sideMembers in ContributorTools.getAllMembers().items(): sideName = {'0': 'client', '1': 'server'}[side] for name, info in sideMembers.items(): memberType = {'func_': 'methods', 'field': 'fields'}[info['searge'][:5]] recordStat(sideName, memberType, 'total') if info['searge'] == info['name'] and info['desc'] == '': recordStat(sideName, memberType, 'unnamed') else: recordStat(sideName, memberType, 'renamed') def output(side, memberType): data = stats[side][memberType] total = ' ' * (5 - len(str(data['total']))) + str(data['total']) renamed = ' ' * (5 - len(str(data['renamed']))) + str(data['total']) unnamed = ' ' * (5 - len(str(data['unnamed']))) + str(data['unnamed'])