fix much migration deprecation warnings

scala-2.12-play-2.6
Thibault Duplessis 2017-08-30 12:55:22 -05:00
parent bbbc71bd3c
commit 17dc9f1bab
34 changed files with 46 additions and 114 deletions

View File

@ -7,17 +7,6 @@ final class LilaLoader extends ApplicationLoader {
println("LilaLoader")
// def load(context: ApplicationLoader.Context) = {
// import play.api.inject.guice.GuiceApplicationBuilder
// val application = new GuiceApplicationBuilder(
// environment = context.environment,
// configuration = context.initialConfiguration
// ).build()
// // Env._ref.set(application)
// old.play.Env.start(application)
// application
// }
def load(context: ApplicationLoader.Context): Application = {
LoggerConfigurator(context.environment.classLoader).foreach {
_.configure(context.environment, context.initialConfiguration, Map.empty)

View File

@ -296,7 +296,7 @@ object Api extends LilaController {
js(ctx) map toHttp
}
private val tooManyRequests = TooManyRequest(jsonError("Try again later"))
private val tooManyRequests = TooManyRequests(jsonError("Try again later"))
private def toHttp(result: ApiResult)(implicit ctx: Context): Result = result match {
case Limited => tooManyRequests

View File

@ -96,7 +96,7 @@ object Coach extends LilaController {
}
}
def pictureApply = AuthBody(BodyParsers.parse.multipartFormData) { implicit ctx => me =>
def pictureApply = AuthBody(parse.multipartFormData) { implicit ctx => me =>
OptionFuResult(api findOrInit me) { c =>
ctx.body.body.file("picture") match {
case Some(pic) => api.uploadPicture(c, pic) recover {

View File

@ -61,7 +61,7 @@ object Fishnet extends LilaController {
}
private def ClientAction[A <: JsonApi.Request](f: A => lila.fishnet.Client => Fu[Either[Result, Option[JsonApi.Work]]])(implicit reads: Reads[A]) =
Action.async(BodyParsers.parse.tolerantJson) { req =>
Action.async(parse.tolerantJson) { req =>
req.body.validate[A].fold(
err => {
logger.warn(s"Malformed request: $err\n${req.body}")

View File

@ -44,7 +44,7 @@ object Insight extends LilaController {
}
}
def json(username: String) = OpenBody(BodyParsers.parse.json) { implicit ctx =>
def json(username: String) = OpenBody(parse.json) { implicit ctx =>
import lila.insight.JsonQuestion, JsonQuestion._
Accessible(username) { user =>
ctx.body.body.validate[JsonQuestion].fold(

View File

@ -17,12 +17,14 @@ import lila.security.{ Permission, Granter, FingerprintedUser }
import lila.user.{ UserContext, User => UserModel }
private[controllers] trait LilaController
extends Controller
extends BaseController
with ContentTypes
with RequestGetter
with ResponseWriter
with LilaSocket {
protected def controllerComponents = old.play.Env.components.controllerComponents
protected val controllerLogger = lila.log("controller")
protected implicit val LilaResultZero = Zero.instance[Result](Results.NotFound)
@ -51,7 +53,7 @@ private[controllers] trait LilaController
)
protected def Open(f: Context => Fu[Result]): Action[Unit] =
Open(BodyParsers.parse.empty)(f)
Open(parse.empty)(f)
protected def Open[A](p: BodyParser[A])(f: Context => Fu[Result]): Action[A] =
Action.async(p) { req =>
@ -61,7 +63,7 @@ private[controllers] trait LilaController
}
protected def OpenBody(f: BodyContext[_] => Fu[Result]): Action[AnyContent] =
OpenBody(BodyParsers.parse.anyContent)(f)
OpenBody(parse.anyContent)(f)
protected def OpenBody[A](p: BodyParser[A])(f: BodyContext[A] => Fu[Result]): Action[A] =
Action.async(p) { req =>
@ -71,7 +73,7 @@ private[controllers] trait LilaController
}
protected def Auth(f: Context => UserModel => Fu[Result]): Action[Unit] =
Auth(BodyParsers.parse.empty)(f)
Auth(parse.empty)(f)
protected def Auth[A](p: BodyParser[A])(f: Context => UserModel => Fu[Result]): Action[A] =
Action.async(p) { req =>
@ -83,7 +85,7 @@ private[controllers] trait LilaController
}
protected def AuthBody(f: BodyContext[_] => UserModel => Fu[Result]): Action[AnyContent] =
AuthBody(BodyParsers.parse.anyContent)(f)
AuthBody(parse.anyContent)(f)
protected def AuthBody[A](p: BodyParser[A])(f: BodyContext[A] => UserModel => Fu[Result]): Action[A] =
Action.async(p) { req =>
@ -98,7 +100,7 @@ private[controllers] trait LilaController
Secure(perm(Permission))(f)
protected def Secure(perm: Permission)(f: Context => UserModel => Fu[Result]): Action[AnyContent] =
Secure(BodyParsers.parse.anyContent)(perm)(f)
Secure(parse.anyContent)(perm)(f)
protected def Secure[A](p: BodyParser[A])(perm: Permission)(f: Context => UserModel => Fu[Result]): Action[A] =
Auth(p) { implicit ctx => me =>
@ -106,7 +108,7 @@ private[controllers] trait LilaController
}
protected def SecureF(s: UserModel => Boolean)(f: Context => UserModel => Fu[Result]): Action[AnyContent] =
Auth(BodyParsers.parse.anyContent) { implicit ctx => me =>
Auth(parse.anyContent) { implicit ctx => me =>
s(me).fold(f(ctx)(me), authorizationFailed)
}
@ -116,7 +118,7 @@ private[controllers] trait LilaController
}
protected def SecureBody(perm: Permission.type => Permission)(f: BodyContext[_] => UserModel => Fu[Result]): Action[AnyContent] =
SecureBody(BodyParsers.parse.anyContent)(perm(Permission))(f)
SecureBody(parse.anyContent)(perm(Permission))(f)
protected def Firewall[A <: Result](a: => Fu[A])(implicit ctx: Context): Fu[Result] =
Env.security.firewall.accepts(ctx.req) flatMap {

View File

@ -157,7 +157,7 @@ object Mod extends LilaController {
Env.memo.asyncCache.multi[IpAddress, Int](
name = "ipIntel",
f = ip => {
import old.play.api.libs.ws.WS
import old.play.Env.WS
val email = Env.api.Net.Email
val url = s"http://check.getipintel.net/check.php?ip=$ip&contact=$email"
WS.url(url).get().map(_.body).mon(_.security.proxy.request.time).flatMap { str =>

View File

@ -301,7 +301,7 @@ object Round extends LilaController with TheftPrevention {
}
}
def atom(gameId: String, color: String) = Action.async { implicit req =>
def atom(gameId: String, color: String) = old.play.Env.actionBuilder.async { implicit req =>
GameRepo.pov(gameId, color) flatMap {
case Some(pov) => GameRepo initialFen pov.game map { initialFen =>
val pgn = Env.game.pgnDump(pov.game, initialFen, PgnDump.WithFlags(clocks = false))

View File

@ -148,7 +148,7 @@ object Tournament extends LilaController {
}
}
def join(id: String) = AuthBody(BodyParsers.parse.json) { implicit ctx => implicit me =>
def join(id: String) = AuthBody(parse.json) { implicit ctx => implicit me =>
NoLame {
val password = ctx.body.body.\("p").asOpt[String]
negotiate(

View File

@ -20,7 +20,7 @@ object UserAnalysis extends LilaController with TheftPrevention {
def index = load("", Standard)
def parse(arg: String) = arg.split("/", 2) match {
def parseUri(arg: String) = arg.split("/", 2) match {
case Array(key) => load("", Variant orDefault key)
case Array(key, fen) => Variant.byKey get key match {
case Some(variant) => load(fen, variant)
@ -114,7 +114,7 @@ object UserAnalysis extends LilaController with TheftPrevention {
).map(_ as JSON)
}
def forecasts(fullId: String) = AuthBody(BodyParsers.parse.json) { implicit ctx => me =>
def forecasts(fullId: String) = AuthBody(parse.json) { implicit ctx => me =>
import lila.round.Forecast
OptionFuResult(GameRepo pov fullId) { pov =>
if (isTheft(pov)) fuccess(theftResponse)
@ -131,7 +131,7 @@ object UserAnalysis extends LilaController with TheftPrevention {
}
}
def forecastsOnMyTurn(fullId: String, uci: String) = AuthBody(BodyParsers.parse.json) { implicit ctx => me =>
def forecastsOnMyTurn(fullId: String, uci: String) = AuthBody(parse.json) { implicit ctx => me =>
import lila.round.Forecast
OptionFuResult(GameRepo pov fullId) { pov =>
if (isTheft(pov)) fuccess(theftResponse)

View File

@ -1,7 +1,6 @@
package lila.app
package templating
import controllers.routes
import play.twirl.api.Html
import lila.api.Context
@ -16,7 +15,7 @@ trait AssetHelper { self: I18nHelper =>
val assetBaseUrl = s"//$assetDomain"
def cdnUrl(path: String) = s"$assetBaseUrl$path"
def staticUrl(path: String) = s"$assetBaseUrl${routes.Assets.at(path)}"
def staticUrl(path: String) = s"$assetBaseUrl/assets/$path"
def dbImageUrl(path: String) = s"$assetBaseUrl/image/$path"
@ -27,7 +26,7 @@ trait AssetHelper { self: I18nHelper =>
cssAt("vendor/" + name, staticDomain)
def cssAt(path: String, staticDomain: Boolean, version: AssetVersion): Html = Html {
val href = if (staticDomain) staticUrl(path) else routes.Assets.at(path)
val href = if (staticDomain) staticUrl(path) else s"/assets/$path"
s"""<link href="$href?v=$version" type="text/css" rel="stylesheet"/>"""
}
def cssAt(path: String, staticDomain: Boolean = true)(implicit ctx: Context): Html =

View File

@ -33,7 +33,7 @@ tablebaseEndpoint: "@tablebaseEndpoint"
</div>
<div class="list">
@chess.variant.Variant.all.filterNot(chess.variant.FromPosition ==).map { v =>
<a data-icon="@iconByVariant(v)" href="@routes.UserAnalysis.parse(v.key)">@v.name</a>
<a data-icon="@iconByVariant(v)" href="@routes.UserAnalysis.parseUri(v.key)">@v.name</a>
}
</div>
</div>

View File

@ -96,7 +96,7 @@ description = "All of lichess features are free for all and forever. We do it fo
<a href="@routes.UserAnalysis.index()#explorer">Opening explorer</a> (34 million games!)
}
@tr(unlimited) {
<a href="@routes.UserAnalysis.parse("8/3k4/8/5r2/1PP5/2RK4/8/8 w - - 0 1")#explorer">6 men endgame tablebase</a>
<a href="@routes.UserAnalysis.parseUri("8/3k4/8/5r2/1PP5/2RK4/8/8 w - - 0 1")#explorer">6 men endgame tablebase</a>
}
@tr(check) {
Download/Upload any game as PGN

View File

@ -120,7 +120,7 @@ POST /training/:id/attempt controllers.Puzzle.round(id: Int)
# User Analysis
GET /analysis/socket controllers.UserAnalysis.socket
GET /analysis/keyboard-i18n controllers.UserAnalysis.keyboardI18n
GET /analysis/*something controllers.UserAnalysis.parse(something: String)
GET /analysis/*something controllers.UserAnalysis.parseUri(something: String)
GET /analysis controllers.UserAnalysis.index
POST /analysis/pgn controllers.UserAnalysis.pgn
@ -530,6 +530,5 @@ POST /jslog/$id<\w{12}> controllers.Main.jslog(id)
# Assets
GET /glyphs controllers.Main.glyphs
GET /assets/*file controllers.Assets.at(path="/public", file)
GET /robots.txt controllers.Main.robots

View File

@ -1,7 +1,7 @@
package lila.api
import akka.actor._
import old.play.api.libs.ws.WS
import old.play.Env.WS
import lila.hub.actorApi.{ DeployPre, DeployPost }

View File

@ -2,7 +2,7 @@ package lila.common
import play.api.i18n.Lang
import play.api.libs.json._
import old.play.api.libs.ws.WS
import old.play.Env.WS
// http://detectlanguage.com
final class DetectLanguage(url: String, key: String) {

View File

@ -25,23 +25,22 @@ object Env {
def start(components: LilaComponents) = _ref.set(components)
private lazy val components: LilaComponents = Option(_ref.get()).get
lazy val components: LilaComponents = Option(_ref.get()).get
lazy val application: Application = components.application
lazy val lifecycle: ApplicationLifecycle = components.applicationLifecycle
implicit lazy val defaultContext: ExecutionContext = components.executionContext
lazy val actorSystem: ActorSystem = application.actorSystem
lazy val materializer: Materializer = application.materializer
lazy val configuration: Configuration = application.configuration
lazy val mode: Mode = application.mode
lazy val scheduler: Scheduler = actorSystem.scheduler
lazy val defaultContext: ExecutionContext = components.executionContext
lazy val environment: Environment = components.environment
lazy val WS: WSClient = {
import play.api.libs.ws.ahc.{ AsyncHttpClientProvider, AhcWSClientProvider }
implicit val mat = materializer
implicit val ec = defaultContext
val asyncHttpClient = new AsyncHttpClientProvider(environment, configuration, lifecycle).get
new AhcWSClientProvider(asyncHttpClient).get
}
@ -62,60 +61,4 @@ object Env {
def url(url: String) = WS.url(url)
def close() = {}
}
// lazy val cache: CacheApi = injector.instanceOf(classOf[CacheApi])
// lazy val procNbr = Runtime.getRuntime.availableProcessors()
// private def factory(of: String) = new ThreadFactory {
// val counter = new AtomicInteger(0)
// override def newThread(r: Runnable): Thread = new Thread(r, s"$of-${counter.incrementAndGet()}")
// }
// lazy val httpRequestExecContext = ExecutionContext.fromExecutorService(Executors.newFixedThreadPool(procNbr * 2, factory("http-requests")))
// lazy val httpCallsExecContext = ExecutionContext.fromExecutorService(Executors.newFixedThreadPool(procNbr * 10, factory("http-calls")))
// lazy val dataStoreExecContext = ExecutionContext.fromExecutorService(Executors.newFixedThreadPool(procNbr * 5, factory("data-store")))
}
object api {
object Play {
def application = Env.application
def maybeApplication = Option(Env.application)
def classloader = Env.application.classloader
def configuration = Env.configuration
def current = Env.application
def isDev = Env.mode == Mode.Dev
def isProd = Env.mode == Mode.Prod
def isTest = Env.mode == Mode.Test
def mode = Env.mode
// def getFile(relativePath: String) = Env.application.getFile(relativePath)
// def getExistingFile(relativePath: String) = Env.application.getExistingFile(relativePath)
// def resource(name: String) = Env.application.resource(name)
// def resourceAsStream(name: String) = Env.application.resourceAsStream(name)
}
object libs {
object ws {
def WS = Env.WS
}
object concurrent {
object Akka {
object Implicits {
implicit def defaultActorSystem: ActorSystem = Env.actorSystem
implicit def defaultMaterializer: Materializer = Env.materializer
implicit def defaultScheduler: Scheduler = Env.scheduler
}
def defaultScheduler: Scheduler = Env.scheduler
def defaultActorSystem: ActorSystem = Env.actorSystem
def defaultMaterializer: Materializer = Env.materializer
}
object Execution {
object Implicits {
implicit def defaultContext: ExecutionContext = Env.defaultContext
}
def defaultContext: ExecutionContext = Env.defaultContext
// def httpRequestsContext = Env.httpRequestExecContext
// def httpCallsContext = Env.httpCallsExecContext
// def dataStoreContext = Env.dataStoreExecContext
}
}
}
}

View File

@ -1,6 +1,6 @@
package lila
import old.play.api.libs.concurrent.Execution.Implicits._
import old.play.Env.defaultContext
import scala.concurrent.duration._
import scala.concurrent.{ Future, ExecutionContext }

View File

@ -24,7 +24,7 @@ final class Env(
}
def fetchPgn(id: String): Fu[Option[String]] = {
import old.play.api.libs.ws.WS
import old.play.Env.WS
WS.url(s"$InternalEndpoint/master/pgn/$id").get() map {
case res if res.status == 200 => res.body.some
case _ => None

View File

@ -6,7 +6,7 @@ import scala.util.{ Try, Success, Failure }
import org.joda.time.DateTime
import org.joda.time.format.DateTimeFormat
import play.api.libs.iteratee._
import old.play.api.libs.ws.WS
import old.play.Env.WS
import lila.db.dsl._
import lila.game.BSONHandlers.gameBSONHandler

View File

@ -2,7 +2,7 @@ package lila.game
import akka.stream.scaladsl.{ Source => StreamSource }
import akka.util.ByteString
import old.play.api.libs.ws.WS
import old.play.Env.WS
import chess.format.{ Forsyth, FEN }

View File

@ -1,7 +1,7 @@
package lila.plan
import play.api.libs.json._
import old.play.api.libs.ws.WS
import old.play.Env.WS
import play.api.libs.ws.WSResponse
import lila.user.User

View File

@ -1,7 +1,7 @@
package lila.push
import play.api.libs.json._
import old.play.api.libs.ws.WS
import old.play.Env.WS
private final class GooglePush(
getDevice: String => Fu[Option[Device]],

View File

@ -1,7 +1,7 @@
package lila.push
import play.api.libs.json._
import old.play.api.libs.ws.WS
import old.play.Env.WS
private final class OneSignalPush(
getDevices: String => Fu[List[Device]],

View File

@ -22,7 +22,7 @@ final class ESClientHttp(
val index: Index,
writeable: Boolean
) extends ESClient {
import old.play.api.libs.ws.WS
import old.play.Env.WS
def store(id: Id, doc: JsObject) = writeable ?? monitor("store") {
HTTP(s"store/${index.name}/${id.value}", doc)

View File

@ -1,6 +1,6 @@
package lila.security
import old.play.api.libs.ws.WS
import old.play.Env.WS
final class DisposableEmailDomain(
providerUrl: String,

View File

@ -4,7 +4,7 @@ import scala.concurrent.duration._
import akka.actor.ActorSystem
import play.api.i18n.Lang
import old.play.api.libs.ws.WS
import old.play.Env.WS
import play.api.libs.ws.WSAuthScheme
import play.twirl.api.Html

View File

@ -1,6 +1,6 @@
package lila.security
import old.play.api.libs.ws.WS
import old.play.Env.WS
import play.api.mvc.RequestHeader
import lila.common.PimpedJson._

View File

@ -2,7 +2,7 @@ package lila.security
import lila.common.IpAddress
import old.play.api.libs.ws.WS
import old.play.Env.WS
final class Tor(providerUrl: String) {

View File

@ -1,7 +1,7 @@
package lila.slack
import play.api.libs.json._
import old.play.api.libs.ws.WS
import old.play.Env.WS
import lila.common.PimpedJson._

View File

@ -1,6 +1,6 @@
package lila.study
import old.play.api.libs.ws.WS
import old.play.Env.WS
private final class PgnFetch {

View File

@ -3,7 +3,7 @@ package lila.tv
import akka.actor._
import akka.pattern.{ ask, pipe }
import play.api.libs.json._
import old.play.api.libs.ws.WS
import old.play.Env.WS
private final class Streaming(
system: ActorSystem,

View File

@ -2,7 +2,7 @@ package lila.video
import org.joda.time.DateTime
import play.api.libs.json._
import old.play.api.libs.ws.WS
import old.play.Env.WS
private[video] final class Sheet(
url: String,

View File

@ -2,7 +2,7 @@ package lila.video
import org.joda.time.DateTime
import play.api.libs.json._
import old.play.api.libs.ws.WS
import old.play.Env.WS
private[video] final class Youtube(
url: String,