def postable_match(base, request): pla = base['match'].get_player(0) plb = base['match'].get_player(1) numlen = len(str(base['match'].get_num())) strings = [( '({rat}) {name}'.format(rat=ratscale(pla.elo_vs_opponent(plb)), name=pla.name), '{sca: >{nl}}-{scb: <{nl}}'.format( sca=base['match'].get_result()[0], scb=base['match'].get_result()[1], nl=numlen ), '{name} ({rat})'.format(rat=ratscale(plb.elo_vs_opponent(pla)), name=plb.name), ), None] for resa, resb in base['res']: L = ('{pctg: >6.2f}% {sca}-{scb: >{nl}}'.format( pctg=100*resa['prob'], sca=resa['sca'], scb=resa['scb'], nl=numlen ) if resa else '') R = ('{sca: >{nl}}-{scb} {pctg: >6.2f}%'.format( pctg=100*resb['prob'], sca=resb['sca'], scb=resb['scb'], nl=numlen ) if resb else '') strings.append((L, '', R)) strings += [None, ( '{pctg: >6.2f}%'.format(pctg=100*base['proba']), '', '{pctg: >6.2f}%'.format(pctg=100*base['probb']), )] median = base['match'].find_lsup() base['postable_tl'] = ( TL_HEADER + left_center_right(strings) + ('\n\n{medout}: {pla} {sca}-{scb} {plb}'.format( medout=_('Median outcome'), pla=pla.name, sca=median[1], scb=median[2], plb=plb.name)) + TL_FOOTER % { 'modurl': request.build_absolute_uri(), 'modify': _('Modify'), 'estby': _('Estimated by'), } ) base['postable_reddit'] = ( REDDIT_HEADER + left_center_right(strings, justify=False, indent=4) + ('\n\n {medout}: {pla} {sca}-{scb} {plb}'.format( medout=_('Median outcome'), pla=pla.name, sca=median[1], scb=median[2], plb=plb.name)) + REDDIT_FOOTER % { 'modurl': request.build_absolute_uri(), 'modify': _('Modify'), 'estby': _('Estimated by'), } )
def match_postable(base, obj, r1, r2, url): pa = obj.get_player(0) pb = obj.get_player(1) numlen = len(str(obj._num)) strings = [ ( "({rat}) {name}".format(rat=ratscale(pa.elo + pa.elo_race[pb.race]), name=pa.name), "{sca: >{nl}}-{scb: <{nl}}".format(sca=obj._result[0], scb=obj._result[1], nl=numlen), "{name} ({rat})".format(rat=ratscale(pb.elo + pb.elo_race[pa.race]), name=pb.name), ) ] strings.append(None) for i in range(0, len(r1)): try: L = "{pctg: >6.2f}% {sca}-{scb: >{nl}}".format(pctg=100 * r1[i][2], sca=r1[i][0], scb=r1[i][1], nl=numlen) except: L = "" try: R = "{sca: >{nl}}-{scb} {pctg: >6.2f}%".format(pctg=100 * r2[i][2], sca=r2[i][0], scb=r2[i][1], nl=numlen) except: R = "" strings.append((L, "", R)) strings += [ None, ("{pctg: >6.2f}%".format(pctg=100 * base["t1"]), "", "{pctg: >6.2f}%".format(pctg=100 * base["t2"])), ] ls = obj.find_lsup() postable_tl = left_center_right(strings) postable_tl += "\n\nMedian outcome: {pla} {sca}-{scb} {plb}".format(pla=pa.name, sca=ls[1], plb=pb.name, scb=ls[2]) base["postable_tl"] = TL_HEADER + postable_tl + TL_FOOTER % url postable_reddit = left_center_right(strings, justify=False, indent=4) postable_reddit += "\n\n Median outcome: {pla} {sca}-{scb} {plb}".format( pla=pa.name, sca=ls[1], plb=pb.name, scb=ls[2] ) base["postable_reddit"] = REDDIT_HEADER + postable_reddit + REDDIT_FOOTER % url
def training(request, team_id): team = get_object_or_404(Group, id=team_id) allowed = [ ('Wake', 'mousesports'), ('mouz', 'mousesports'), ('TheBB', 'mousesports'), ] if not request.user.is_authenticated() or (request.user.username, team.name) not in allowed: raise PermissionDenied players = Player.objects.filter( groupmembership__group=team, groupmembership__current=True, groupmembership__playing=True, ) out = [] for rca in 'ptz': players_race = players.filter(race=rca.upper()) for rcb in 'ptz': players_race_weak = players_race for other in [r for r in 'ptz' if r != rcb]: players_race_weak = players_race_weak.filter( **{'current_rating__rating_v%s__lt' % rcb: F('current_rating__rating_v%s' % other)} ) if players_race_weak.exists(): out.append('<h3>Weak %sv%s</h3><ul>' % (rca.upper(), rcb.upper())) for p in players_race_weak: out.append( '<li>%s (%.0f; %+.0f)</li>' % ( p.tag, ratscale(p.current_rating.get_totalrating(rcb.upper())), ratscalediff(p.current_rating.get_rating(rcb.upper())), ) ) out.append('</ul>') opponents = sorted( [p for p in players if p.race == rcb.upper()], key=lambda p: p.current_rating.get_totalrating(rca.upper()), reverse=True ) out.append( '<p>Strongest %sv%s players are, in order: %s.</p>' % (rcb.upper(), rca.upper(), ', '.join([o.tag for o in opponents])) ) return HttpResponse('\n'.join(out))
def match_postable(base, obj, r1, r2): pa = obj.get_player(0) pb = obj.get_player(1) numlen = len(str(obj._num)) strings = [('({rat}) {name}'.format(rat=ratscale(pa.elo + pa.elo_race[pb.race]), name=pa.name),\ '{sca: >{nl}}-{scb: <{nl}}'.format(sca=obj._result[0], scb=obj._result[1], nl=numlen),\ '{name} ({rat})'.format(rat=ratscale(pb.elo + pb.elo_race[pa.race]), name=pb.name))] strings.append(None) for i in range(0, len(r1)): try: L = '{pctg: >6.2f}% {sca}-{scb: >{nl}}'.format(pctg=100*r1[i][2], sca=r1[i][0], scb=r1[i][1], nl=numlen) except: L = '' try: R = '{sca: >{nl}}-{scb} {pctg: >6.2f}%'.format(pctg=100*r2[i][2], sca=r2[i][0], scb=r2[i][1], nl=numlen) except: R = '' strings.append((L, '', R)) strings += [None, ('{pctg: >6.2f}%'.format(pctg=100*base['t1']), '',\ '{pctg: >6.2f}%'.format(pctg=100*base['t2']))] ls = obj.find_lsup() postable_tl = left_center_right(strings) postable_tl += '\n\nMedian outcome: {pla} {sca}-{scb} {plb}'\ .format(pla=pa.name, sca=ls[1], plb=pb.name, scb=ls[2]) base['postable_tl'] = TL_HEADER + postable_tl + TL_FOOTER postable_reddit = left_center_right(strings, justify=False, indent=4) postable_reddit += '\n\n Median outcome: {pla} {sca}-{scb} {plb}'\ .format(pla=pa.name, sca=ls[1], plb=pb.name, scb=ls[2]) base['postable_reddit'] = REDDIT_HEADER + postable_reddit + REDDIT_FOOTER
def _print(self, player): value = self.get_value(player) return ratscale(value)
def postable_match(base, request): pla = base['match'].get_player(0) plb = base['match'].get_player(1) numlen = len(str(base['match'].get_num())) strings = [( '({rat}) {name}'.format(rat=ratscale(pla.elo_vs_opponent(plb)), name=pla.name), '{sca: >{nl}}-{scb: <{nl}}'.format(sca=base['match'].get_result()[0], scb=base['match'].get_result()[1], nl=numlen), '{name} ({rat})'.format(rat=ratscale(plb.elo_vs_opponent(pla)), name=plb.name), ), None] for resa, resb in base['res']: L = ('{pctg: >6.2f}% {sca}-{scb: >{nl}}'.format( pctg=100 * resa['prob'], sca=resa['sca'], scb=resa['scb'], nl=numlen) if resa else '') R = ('{sca: >{nl}}-{scb} {pctg: >6.2f}%'.format( pctg=100 * resb['prob'], sca=resb['sca'], scb=resb['scb'], nl=numlen) if resb else '') strings.append((L, '', R)) strings += [ None, ( '{pctg: >6.2f}%'.format(pctg=100 * base['proba']), '', '{pctg: >6.2f}%'.format(pctg=100 * base['probb']), ) ] median = base['match'].find_lsup() base['postable_tl'] = (TL_HEADER + left_center_right(strings) + ('\n\n{medout}: {pla} {sca}-{scb} {plb}'.format( medout=_('Median outcome'), pla=pla.name, sca=median[1], scb=median[2], plb=plb.name)) + TL_FOOTER % { 'modurl': request.build_absolute_uri(), 'modify': _('Modify'), 'estby': _('Estimated by'), }) base['postable_reddit'] = ( REDDIT_HEADER + left_center_right(strings, justify=False, indent=4) + ('\n\n {medout}: {pla} {sca}-{scb} {plb}'.format( medout=_('Median outcome'), pla=pla.name, sca=median[1], scb=median[2], plb=plb.name)) + REDDIT_FOOTER % { 'modurl': request.build_absolute_uri(), 'modify': _('Modify'), 'estby': _('Estimated by'), })