Пример #1
0
 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}"
Пример #2
0
 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}'
Пример #3
0
 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