def make_line(entry): ( duelid, start_time, finish_time, name, challenger, challengee, winner, ) = entry duel_time = cf_common.pretty_time_format(finish_time - start_time, shorten=True, always_seconds=True) problem = cf_common.cache2.problem_cache.problem_by_name[name] when = cf_common.days_ago(start_time) idstr = f"{duelid}: " if winner != Winner.DRAW: loser = get_cf_user( challenger if winner == Winner.CHALLENGEE else challengee, guild_id, ) winner = get_cf_user( challenger if winner == Winner.CHALLENGER else challengee, guild_id, ) return f"{idstr if show_id else str()}[{name}]({problem.url}) [{problem.rating}] won by [{winner.handle}]({winner.url}) vs [{loser.handle}]({loser.url}) {when} in {duel_time}" else: challenger = get_cf_user(challenger, guild_id) challengee = get_cf_user(challengee, guild_id) return f"{idstr if show_id else str()}[{name}]({problem.url}) [{problem.rating}] drawn by [{challenger.handle}]({challenger.url}) and [{challengee.handle}]({challengee.url}) {when} after {duel_time}"
def duel_to_string(duel): start_time, finish_time, problem_name, challenger, challengee = duel duel_time = cf_common.pretty_time_format(finish_time - start_time, shorten=True, always_seconds=True) when = cf_common.days_ago(start_time) loser_id = challenger if member.id != challenger else challengee loser = get_cf_user(loser_id, ctx.guild.id) problem = cf_common.cache2.problem_cache.problem_by_name[problem_name] return f'**[{problem.name}]({problem.url})** [{problem.rating}] versus [{loser.handle}]({loser.url}) {when} in {duel_time}'
def make_line(entry): issue, finish, name, contest, index, delta, status = entry problem = cf_common.cache2.problem_cache.problem_by_name[name] line = f"[{name}]({problem.url})\N{EN SPACE}[{problem.rating}]" if finish: time_str = cf_common.days_ago(finish) points = f"{_GITGUD_SCORE_DISTRIB[delta // 100 + 3]:+}" line += f"\N{EN SPACE}{time_str}\N{EN SPACE}[{points}]" return line