فهرست منبع

Do not overwrite the output files when they already exist

theenglishway (time) 2 سال پیش
والد
کامیت
26a0fd0dc1
2فایلهای تغییر یافته به همراه21 افزوده شده و 13 حذف شده
  1. 13 12
      src/main/scala/Extract.scala
  2. 8 1
      src/main/scala/Main.scala

+ 13 - 12
src/main/scala/Extract.scala

@@ -4,9 +4,6 @@ import balldontlie._
 import game.PlayerGameStats
 
 object Extract {
-  val stats_output = os.pwd / "stats.json"
-  val games_output = os.pwd / "games.json"
-
   val selectedTeams = List(
     "Phoenix Suns",
     "Atlanta Hawks",
@@ -14,16 +11,20 @@ object Extract {
     "Milwaukee Bucks"
   ).take(1)
 
-  def getStats() = {
-    val teamIds = EndpointResponse
-      .getTeams()
-      .filter(team => selectedTeams.contains(team.full_name))
-      .map(_.id)
-    val gameList = EndpointResponse.getGames(2021, teamIds)
+  def getStats(stats_output: os.Path, games_output: os.Path) = {
+    if (!os.exists(stats_output) || !os.exists(games_output)) {
+      val teamIds = EndpointResponse
+        .getTeams()
+        .filter(team => selectedTeams.contains(team.full_name))
+        .map(_.id)
+      val gameList = EndpointResponse.getGames(2021, teamIds)
 
-    val stats = EndpointResponse.getStats(gameList.map(_.id))
+      val stats = EndpointResponse.getStats(gameList.map(_.id))
 
-    Utils.writeToFile(PlayerGameStats.as_json_value(stats), stats_output)
-    Utils.writeToFile(gameList, games_output)
+      Utils.writeToFile(PlayerGameStats.as_json_value(stats), stats_output)
+      Utils.writeToFile(gameList, games_output)
+    } else {
+      println(s"output files $stats_output and $games_output already exist")
+    }
   }
 }

+ 8 - 1
src/main/scala/Main.scala

@@ -1,3 +1,10 @@
+import org.apache.spark.sql.SparkSession
+
+import extract.Extract
+
 object Main extends App {
+  val stats_output = os.pwd / "stats.json"
+  val games_output = os.pwd / "games.json"
+
   println("Hello, World!")
-}
+  Extract.getStats(stats_output, games_output)