private def parseResult()

in common/src/main/scala/com/gu/media/youtube/YouTubeUploader.scala [105:125]


  private def parseResult(result: String): YouTubeUploader.Result = {
    if(result.isEmpty) {
      MoveToNextChunk
    } else {
      val json = Json.parse(result)

      ((json \ "id").asOpt[String], (json \ "error").asOpt[JsObject]) match {
        case (_, Some(error)) =>
          val code = (error \ "code").as[Int]
          val message = (error \ "message").as[String]

          UploadError(s"YouTube upload error $code: $message")

        case (Some(id), None) =>
          VideoFullyUploaded(id)

        case (None, None) =>
          UploadError(s"Unable to parse YouTube response $result")
      }
    }
  }