From e5a9abb4521306588747f32b04cdd2379131660d Mon Sep 17 00:00:00 2001 From: Thibault Duplessis Date: Sun, 2 Nov 2014 11:15:15 +0100 Subject: [PATCH] include engine evaluator as a submodule --- .gitmodules | 3 +++ modules/evaluation/src/main/Env.scala | 4 ++-- modules/evaluation/src/main/Evaluator.scala | 11 ++++++----- submodules/evaluator | 1 + 4 files changed, 12 insertions(+), 7 deletions(-) create mode 160000 submodules/evaluator diff --git a/.gitmodules b/.gitmodules index ab991fea2c..dea363664c 100644 --- a/.gitmodules +++ b/.gitmodules @@ -16,3 +16,6 @@ [submodule "submodules/boardcreator"] path = submodules/boardcreator url = https://github.com/clarkerubber/board-creator +[submodule "submodules/evaluator"] + path = submodules/evaluator + url = https://github.com/clarkerubber/engine-evaluator diff --git a/modules/evaluation/src/main/Env.scala b/modules/evaluation/src/main/Env.scala index bb95602182..e0d0d91188 100644 --- a/modules/evaluation/src/main/Env.scala +++ b/modules/evaluation/src/main/Env.scala @@ -10,14 +10,14 @@ final class Env( system: ActorSystem) { private val CollectionEvaluation = config getString "collection.evaluation" - private val EvaluatorScriptPath = config getString "evaluator.script_path" + private val EvaluatorExecPath = config getString "evaluator.exec_path" private val ActorName = config getString "actor.name" private val ApiToken = config getString "api.token" private val ApiUrl = config getString "api.url" lazy val evaluator = new Evaluator( coll = db(CollectionEvaluation), - script = EvaluatorScriptPath, + execPath = EvaluatorExecPath, reporter = hub.actor.report, analyser = hub.actor.analyser, marker = hub.actor.mod, diff --git a/modules/evaluation/src/main/Evaluator.scala b/modules/evaluation/src/main/Evaluator.scala index 9eca9cb413..233a27b3dc 100644 --- a/modules/evaluation/src/main/Evaluator.scala +++ b/modules/evaluation/src/main/Evaluator.scala @@ -19,7 +19,7 @@ import lila.user.{ User, UserRepo, Perfs } final class Evaluator( coll: Coll, - script: String, + execPath: String, reporter: ActorSelection, analyser: ActorSelection, marker: ActorSelection, @@ -116,12 +116,13 @@ final class Evaluator( } private def run(userId: String, deep: Boolean): Try[String] = { - val command = s"""$script $userId ${deep.fold("true", "false")} $token $apiUrl/""" + import scala.sys.process._ + import java.io.File + val exec = Process(Seq("php", "engine-evaluator.php", userId, deep.fold("true", "false"), token, s"$apiUrl/"), new File(execPath)) Try { - import scala.sys.process._ - command.!! + exec.!! } match { - case Failure(e) => Failure(new Exception(s"$command $e")) + case Failure(e) => Failure(new Exception(s"$exec $e")) case x => x } } diff --git a/submodules/evaluator b/submodules/evaluator new file mode 160000 index 0000000000..1efb18afb0 --- /dev/null +++ b/submodules/evaluator @@ -0,0 +1 @@ +Subproject commit 1efb18afb077a67f4d88a0e7c9b1baf4ee9f70cd