lila/app/controllers/Importer.scala

36 lines
975 B
Scala
Raw Normal View History

2013-05-06 19:57:42 -06:00
package controllers
import lila.app._
import views._
object Importer extends LilaController with BaseGame {
2013-05-09 09:11:06 -06:00
private def env = Env.importer
2013-05-06 19:57:42 -06:00
2014-02-17 02:12:19 -07:00
def importGame = Open { implicit ctx =>
makeListMenu map { listMenu =>
2013-05-09 09:11:06 -06:00
Ok(html.game.importGame(listMenu, env.forms.importForm))
}
}
2013-05-06 19:57:42 -06:00
2014-02-17 02:12:19 -07:00
def sendGame = OpenBody { implicit ctx =>
2013-05-09 09:11:06 -06:00
implicit def req = ctx.body
env.forms.importForm.bindFromRequest.fold(
2014-02-17 02:12:19 -07:00
failure => makeListMenu map { listMenu =>
2013-05-09 09:11:06 -06:00
Ok(html.game.importGame(listMenu, failure))
},
2014-02-17 02:12:19 -07:00
data => env.importer(data, ctx.userId, ctx.req.remoteAddress) map { game =>
Analyse.addCallbacks(game.id) {
Env.analyse.analyser.getOrGenerate(game.id, ctx.userId | "lichess", concurrent = true, auto = false)
}
2014-02-01 11:45:02 -07:00
Redirect(routes.Round.watcher(game.id, "white"))
2013-05-09 09:11:06 -06:00
} recover {
2014-02-17 02:12:19 -07:00
case e => {
2013-05-09 09:11:06 -06:00
logwarn(e.getMessage)
Redirect(routes.Importer.importGame)
}
}
)
}
2013-05-06 19:57:42 -06:00
}