Skip to content

Commit

Permalink
fix much migration deprecation warnings
Browse files Browse the repository at this point in the history
  • Loading branch information
ornicar committed Aug 30, 2017
1 parent bbbc71b commit 17dc9f1
Show file tree
Hide file tree
Showing 34 changed files with 46 additions and 114 deletions.
11 changes: 0 additions & 11 deletions app/AppLoader.scala
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
2 changes: 1 addition & 1 deletion app/controllers/Api.scala
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion app/controllers/Coach.scala
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
2 changes: 1 addition & 1 deletion app/controllers/Fishnet.scala
Original file line number Diff line number Diff line change
Expand Up @@ -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}")
Expand Down
2 changes: 1 addition & 1 deletion app/controllers/Insight.scala
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand Down
18 changes: 10 additions & 8 deletions app/controllers/LilaController.scala
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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 =>
Expand All @@ -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 =>
Expand All @@ -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 =>
Expand All @@ -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 =>
Expand All @@ -98,15 +100,15 @@ 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 =>
isGranted(perm).fold(f(ctx)(me), authorizationFailed)
}

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)
}

Expand All @@ -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 {
Expand Down
2 changes: 1 addition & 1 deletion app/controllers/Mod.scala
Original file line number Diff line number Diff line change
Expand Up @@ -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"https://check.getipintel.net/check.php?ip=$ip&contact=$email"
WS.url(url).get().map(_.body).mon(_.security.proxy.request.time).flatMap { str =>
Expand Down
2 changes: 1 addition & 1 deletion app/controllers/Round.scala
Original file line number Diff line number Diff line change
Expand Up @@ -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))
Expand Down
2 changes: 1 addition & 1 deletion app/controllers/Tournament.scala
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand Down
6 changes: 3 additions & 3 deletions app/controllers/UserAnalysis.scala
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down Expand Up @@ -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)
Expand All @@ -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)
Expand Down
5 changes: 2 additions & 3 deletions app/templating/AssetHelper.scala
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package lila.app
package templating

import controllers.routes
import play.twirl.api.Html

import lila.api.Context
Expand All @@ -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"

Expand All @@ -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 =
Expand Down
2 changes: 1 addition & 1 deletion app/views/board/userAnalysis.scala.html
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
</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>
Expand Down
2 changes: 1 addition & 1 deletion app/views/plan/features.scala.html
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ <h1 data-icon="">Website</h1>
<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
Expand Down
3 changes: 1 addition & 2 deletions conf/routes
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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
2 changes: 1 addition & 1 deletion modules/api/src/main/InfluxEvent.scala
Original file line number Diff line number Diff line change
@@ -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 }

Expand Down
2 changes: 1 addition & 1 deletion modules/common/src/main/DetectLanguage.scala
Original file line number Diff line number Diff line change
Expand Up @@ -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

// https://detectlanguage.com
final class DetectLanguage(url: String, key: String) {
Expand Down
61 changes: 2 additions & 59 deletions modules/common/src/main/GoodOldPlay.scala
Original file line number Diff line number Diff line change
Expand Up @@ -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
}
Expand All @@ -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
}
}
}
}
2 changes: 1 addition & 1 deletion modules/common/src/main/PimpedFuture.scala
Original file line number Diff line number Diff line change
@@ -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 }

Expand Down
2 changes: 1 addition & 1 deletion modules/explorer/src/main/Env.scala
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion modules/explorer/src/main/ExplorerIndexer.scala
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion modules/game/src/main/PngExport.scala
Original file line number Diff line number Diff line change
Expand Up @@ -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 }

Expand Down
2 changes: 1 addition & 1 deletion modules/plan/src/main/StripeClient.scala
Original file line number Diff line number Diff line change
@@ -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
Expand Down
Loading

0 comments on commit 17dc9f1

Please sign in to comment.