From 037f522caf47d70d674daba62b540a451542c64d Mon Sep 17 00:00:00 2001 From: Jakob Odersky Date: Wed, 20 Sep 2017 19:05:33 -0700 Subject: Fix directory listing of GCS buckets --- build.sbt | 2 +- src/main/scala/xyz/driver/core/file/GcsStorage.scala | 10 ++++++++-- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/build.sbt b/build.sbt index f0a0a73..87828d6 100644 --- a/build.sbt +++ b/build.sbt @@ -17,7 +17,7 @@ lazy val core = (project in file(".")) "com.github.swagger-akka-http" %% "swagger-akka-http" % "0.9.1", "com.amazonaws" % "aws-java-sdk-s3" % "1.11.26", "com.google.cloud" % "google-cloud-pubsub" % "0.17.2-alpha", - "com.google.cloud" % "google-cloud-storage" % "1.0.1", + "com.google.cloud" % "google-cloud-storage" % "1.6.0", "com.typesafe.slick" %% "slick" % "3.1.1", "com.typesafe" % "config" % "1.2.1", "com.typesafe.scala-logging" %% "scala-logging" % "3.5.0", diff --git a/src/main/scala/xyz/driver/core/file/GcsStorage.scala b/src/main/scala/xyz/driver/core/file/GcsStorage.scala index 76438cf..629b1d8 100644 --- a/src/main/scala/xyz/driver/core/file/GcsStorage.scala +++ b/src/main/scala/xyz/driver/core/file/GcsStorage.scala @@ -84,13 +84,19 @@ class GcsStorage(storageClient: Storage, override def list(directoryPath: Path): ListT[Future, FileLink] = ListT.listT(Future { + val directory = s"$directoryPath/" val page = storageClient.list( bucketName.value, BlobListOption.currentDirectory(), - BlobListOption.prefix(s"$directoryPath/") + BlobListOption.prefix(directory) ) - page.iterateAll().asScala.map(blobToFileLink(directoryPath, _)).toList + page + .iterateAll() + .asScala + .filter(_.getName != directory) + .map(blobToFileLink(directoryPath, _)) + .toList }) protected def blobToFileLink(path: Path, blob: Blob): FileLink = { -- cgit v1.2.3