Moved parser run to GribParserTest
This commit is contained in:
@@ -45,7 +45,7 @@ npm run dev
|
|||||||
```
|
```
|
||||||
|
|
||||||
Run one file
|
Run one file
|
||||||
```sbt "runMain grib.GribParser"```
|
```sbt "runMain grib.GribParserTest"```
|
||||||
|
|
||||||
## Backend Tech:
|
## Backend Tech:
|
||||||
- scala: cats-effects, http4s, fs2, circe, scalatest
|
- scala: cats-effects, http4s, fs2, circe, scalatest
|
||||||
|
|||||||
@@ -1,28 +1,13 @@
|
|||||||
package grib
|
package grib
|
||||||
|
|
||||||
import cats.effect._
|
import cats.effect._
|
||||||
import cats.effect.unsafe.implicits.global
|
|
||||||
import fs2.io.file.{Files, Path}
|
import fs2.io.file.{Files, Path}
|
||||||
import io.circe.generic.auto._
|
|
||||||
import io.circe.syntax._
|
|
||||||
|
|
||||||
import java.nio.ByteBuffer
|
import java.nio.ByteBuffer
|
||||||
import java.time.temporal.ChronoUnit
|
import java.time.temporal.ChronoUnit
|
||||||
import java.time.{ZoneOffset, ZonedDateTime}
|
import java.time.{ZoneOffset, ZonedDateTime}
|
||||||
|
|
||||||
object GribParser {
|
object GribParser {
|
||||||
def main(args: Array[String]): Unit = {
|
|
||||||
val fileName = "data/HARMONIE_DINI_SF_2025-01-24T030000Z_2025-01-26T010000Z.grib"
|
|
||||||
val path = Path(fileName)
|
|
||||||
|
|
||||||
val program = for {
|
|
||||||
gribList <- parseFile(path)
|
|
||||||
json = gribList.asJson
|
|
||||||
_ <- IO.println(json.spaces2)
|
|
||||||
} yield ()
|
|
||||||
|
|
||||||
program.unsafeRunSync()
|
|
||||||
}
|
|
||||||
def parseFile(path: Path): IO[List[Grib]] = {
|
def parseFile(path: Path): IO[List[Grib]] = {
|
||||||
def loop(ptr: Long, acc: List[Grib]): IO[List[Grib]] = {
|
def loop(ptr: Long, acc: List[Grib]): IO[List[Grib]] = {
|
||||||
for {
|
for {
|
||||||
|
|||||||
@@ -0,0 +1,22 @@
|
|||||||
|
package grib
|
||||||
|
|
||||||
|
import cats.effect.IO
|
||||||
|
import fs2.io.file.Path
|
||||||
|
import io.circe.generic.auto._
|
||||||
|
import io.circe.syntax._
|
||||||
|
import cats.effect.unsafe.implicits.global
|
||||||
|
|
||||||
|
object GribParserTest {
|
||||||
|
def main(args: Array[String]): Unit = {
|
||||||
|
val fileName = "data/HARMONIE_DINI_SF_2025-01-24T030000Z_2025-01-26T010000Z.grib"
|
||||||
|
val path = Path(fileName)
|
||||||
|
|
||||||
|
val program = for {
|
||||||
|
gribList <- GribParser.parseFile(path)
|
||||||
|
json = gribList.asJson
|
||||||
|
_ <- IO.println(json.spaces2)
|
||||||
|
} yield ()
|
||||||
|
|
||||||
|
program.unsafeRunSync()
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user