import and display player rating - closes #7532
parent
be91eb92bf
commit
14c3b80d6d
|
@ -141,6 +141,7 @@ trait GameHelper { self: I18nHelper with UserHelper with AiHelper with StringHel
|
|||
case (_, Some(name)) => name
|
||||
case _ => trans.anonymous.txt()
|
||||
},
|
||||
player.rating.ifTrue(withRating) map { rating => s" ($rating)" },
|
||||
statusIcon
|
||||
)
|
||||
case Some(user) =>
|
||||
|
|
|
@ -63,8 +63,6 @@ case class Player(
|
|||
|
||||
def isProposingTakeback = proposeTakebackAt != 0
|
||||
|
||||
def withName(name: String) = copy(name = name.some)
|
||||
|
||||
def nameSplit: Option[(String, Option[Int])] =
|
||||
name map {
|
||||
case Player.nameSplitRegex(n, r) => n -> r.toIntOption
|
||||
|
@ -135,6 +133,19 @@ object Player {
|
|||
make(color, (u.id, perfPicker(u.perfs)))
|
||||
}
|
||||
|
||||
def makeImported(
|
||||
color: Color,
|
||||
name: Option[String],
|
||||
rating: Option[Int]
|
||||
): Player =
|
||||
Player(
|
||||
id = IdGenerator.player(color),
|
||||
color = color,
|
||||
aiLevel = none,
|
||||
name = name orElse "?".some,
|
||||
rating = rating
|
||||
)
|
||||
|
||||
case class HoldAlert(ply: Int, mean: Int, sd: Int) {
|
||||
def suspicious = HoldAlert.suspicious(ply)
|
||||
}
|
||||
|
|
|
@ -90,16 +90,19 @@ case class ImportData(pgn: String, analyse: Option[String]) {
|
|||
|
||||
val date = parsed.tags.anyDate
|
||||
|
||||
def name(whichName: TagPicker, whichRating: TagPicker): String =
|
||||
parsed.tags(whichName).fold("?") { n =>
|
||||
n + ~parsed.tags(whichRating).map(e => s" (${e take 8})")
|
||||
}
|
||||
|
||||
val dbGame = Game
|
||||
.make(
|
||||
chess = game,
|
||||
whitePlayer = Player.make(chess.White, None) withName name(_.White, _.WhiteElo),
|
||||
blackPlayer = Player.make(chess.Black, None) withName name(_.Black, _.BlackElo),
|
||||
whitePlayer = Player.makeImported(
|
||||
chess.White,
|
||||
parsed.tags(_.White),
|
||||
parsed.tags(_.WhiteElo).flatMap(_.toIntOption)
|
||||
),
|
||||
blackPlayer = Player.makeImported(
|
||||
chess.Black,
|
||||
parsed.tags(_.Black),
|
||||
parsed.tags(_.BlackElo).flatMap(_.toIntOption)
|
||||
),
|
||||
mode = Mode.Casual,
|
||||
source = Source.Import,
|
||||
pgnImport = PgnImport.make(user = user, date = date, pgn = pgn).some
|
||||
|
|
Loading…
Reference in New Issue