protected def storePremiereVersionInfo()

in app/services/actors/creation/PostrunExecutor.scala [129:157]


  protected def storePremiereVersionInfo(maybeOutput: Option[JythonOutput], entry: ProjectEntry) = maybeOutput match {
    case Some(finalResult)=>
      finalResult.newDataCache.get("premiere_version") match {
        case Some(premiereVersion) =>
          Try {
            premiereVersion.toInt
          } match {
            case Success(premiereVersionNumber) =>
              logger.info(s"${entry.id}: ${entry.projectTitle} - got premiere version $premiereVersion")
              for {
                files <- entry.associatedFiles(allVersions = false)
                updates <- Future.sequence(files.map(f => {
                  val updatedFile = f.copy(maybePremiereVersion = Some(premiereVersionNumber))
                  updatedFile.save
                }))
              } yield updates

            case Failure(err) =>
              logger.error(s"${entry.id}: ${entry.projectTitle} - got premiere version '$premiereVersion' which does not convert to a number. This should not happen.  Error was '${err.getMessage}'", err)
              Future.failed(new RuntimeException("Could not get a valid premiere version, possibly a corrupted template"))
          }
        case None =>
          logger.debug(s"${entry.projectTitle} (${entry.id.get} is not a premiere project")
          Future(Seq())
      }
    case None=>
      logger.warn(s"No postruns ran for ${entry.projectTitle} (${entry.id.get} so no metadata")
      Future(Seq())
  }