def fromThrift()

in common/src/main/scala/com/gu/media/model/MediaAtom.scala [238:277]


  def fromThrift(atom: ThriftAtom) = {
    val data = atom.tdata

    val youtubeDescription: Option[String] = MediaAtomYoutubeDescriptionHandler.getYoutubeDescription(data)

    MediaAtom(
      id = atom.id,
      labels = atom.labels.toList,
      contentChangeDetails = ContentChangeDetails.fromThrift(atom.contentChangeDetails),
      assets = data.assets.map(Asset.fromThrift).toList,
      activeVersion = data.activeVersion,
      title = data.title,
      category = Category.fromThrift(data.category),
      plutoData = data.metadata.flatMap(_.pluto).map(PlutoData.fromThrift),
      duration = data.duration,
      source = data.source,
      posterImage = data.posterImage.map(Image.fromThrift),
      trailImage = data.trailImage.map(Image.fromThrift),
      youtubeOverrideImage = data.youtubeOverrideImage.map(Image.fromThrift),
      description = data.description,
      trailText = data.trailText,
      tags = data.metadata.flatMap(_.tags.map(_.toList)).getOrElse(Nil),
      byline = data.byline.map(_.toList).getOrElse(Nil),
      commissioningDesks = data.commissioningDesks.map(_.toList).getOrElse(Nil),
      keywords = data.keywords.map(_.toList).getOrElse(Nil),
      youtubeCategoryId = data.metadata.flatMap(_.categoryId),
      expiryDate = data.metadata.flatMap(_.expiryDate),
      blockAds = atom.flags.flatMap(_.blockAds).getOrElse(false),
      license = data.metadata.flatMap(_.license),
      channelId = data.metadata.flatMap(_.channelId),
      legallySensitive = atom.flags.flatMap(_.legallySensitive),
      sensitive = atom.flags.flatMap(_.sensitive),
      privacyStatus = data.metadata.flatMap(_.privacyStatus).flatMap(PrivacyStatus.fromThrift),
      composerCommentsEnabled = data.commentsEnabled,
      optimisedForWeb = data.optimisedForWeb,
      suppressRelatedContent = data.suppressRelatedContent,
      youtubeTitle = data.metadata.flatMap(_.youtube).map(_.title).getOrElse(data.title),
      youtubeDescription = youtubeDescription
    )
  }