From 79ed95d366d74a10df4c61d3556430c46118adac Mon Sep 17 00:00:00 2001 From: Thibault Duplessis Date: Mon, 8 Nov 2021 12:08:19 +0100 Subject: [PATCH] {master} fix PGN export of masters explorer games --- modules/game/src/main/PgnDump.scala | 6 ++++-- modules/game/src/main/Player.scala | 4 ++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/modules/game/src/main/PgnDump.scala b/modules/game/src/main/PgnDump.scala index 6c51281333..60218cf8dd 100644 --- a/modules/game/src/main/PgnDump.scala +++ b/modules/game/src/main/PgnDump.scala @@ -57,10 +57,12 @@ final class PgnDump( private def gameLightUsers(game: Game): Fu[(Option[LightUser], Option[LightUser])] = (game.whitePlayer.userId ?? lightUserApi.async) zip (game.blackPlayer.userId ?? lightUserApi.async) - private def rating(p: Player) = p.rating.fold("?")(_.toString) + private def rating(p: Player) = p.rating.orElse(p.nameSplit.flatMap(_._2)).fold("?")(_.toString) def player(p: Player, u: Option[LightUser]) = - p.aiLevel.fold(u.fold(p.name | lila.user.User.anonymous)(_.name))("lichess AI level " + _) + p.aiLevel.fold(u.fold(p.nameSplit.map(_._1).orElse(p.name) | lila.user.User.anonymous)(_.name))( + "lichess AI level " + _ + ) private val customStartPosition: Set[chess.variant.Variant] = Set(chess.variant.Chess960, chess.variant.FromPosition, chess.variant.Horde, chess.variant.RacingKings) diff --git a/modules/game/src/main/Player.scala b/modules/game/src/main/Player.scala index cf3eed3302..1d21d22530 100644 --- a/modules/game/src/main/Player.scala +++ b/modules/game/src/main/Player.scala @@ -60,8 +60,8 @@ case class Player( def nameSplit: Option[(String, Option[Int])] = name map { - case Player.nameSplitRegex(n, r) => n -> r.toIntOption - case n => n -> none + case Player.nameSplitRegex(n, r) => n.trim -> r.toIntOption + case n => n -> none } def before(other: Player) =