def acastProxy()

in app/com/gu/itunes/iTunesRssItem.scala [100:196]


    def acastProxy(url: String): String = {
      case class AcastLaunchGroup(launchDate: DateTime, tagIds: Seq[String])

      val acastPodcasts: Seq[AcastLaunchGroup] = Seq(
        AcastLaunchGroup(new DateTime(2017, 4, 19, 0, 0), Seq("technology/series/chips-with-everything")),
        AcastLaunchGroup(new DateTime(2017, 5, 2, 0, 0), Seq(
          "football/series/footballweekly",
          "news/series/the-audio-long-read",
          "science/series/science",
          "politics/series/politicsweekly",
          "arts/series/culture",
          "books/series/books",
          "technology/series/chips-with-everything",
          "society/series/token")),
        AcastLaunchGroup(new DateTime(2017, 6, 12, 0, 0), Seq(
          "politics/series/brexit-means",
          "global-development/series/global-development-podcast",
          "news/series/the-story",
          "lifeandstyle/series/close-encounters",
          "music/series/musicweekly",
          "lifeandstyle/series/guardian-guide-to-running-podcast-beginner",
          "commentisfree/series/what-would-a-feminist-do",
          "tv-and-radio/series/game-of-thrones-the-citadel-podcast",
          "australia-news/series/australian-politics-live",
          "australia-news/series/behind-the-lines-podcast",
          "artanddesign/series/guardian-australia-culture-podcast",
          "film/series/the-dailies-podcast",
          "world/series/project",
          "us-news/series/politics-for-humans")),
        AcastLaunchGroup(new DateTime(2018, 2, 21, 0, 0), Seq(
          "culture/series/thestart")),
        AcastLaunchGroup(new DateTime(2018, 5, 30, 0, 0), Seq(
          "australia-news/series/the-reckoning-guardian-australia-podcast")),
        AcastLaunchGroup(new DateTime(2018, 5, 29, 0, 0), Seq(
          "membership/series/we-need-to-talk-about")),
        AcastLaunchGroup(new DateTime(2018, 9, 13, 0, 0), Seq(
          "society/series/beyondtheblade")),
        AcastLaunchGroup(new DateTime(2018, 10, 25, 0, 0), Seq(
          "news/series/todayinfocus")),
        AcastLaunchGroup(new DateTime(2018, 11, 24, 0, 0), Seq(
          "australia-news/series/witch-hunt")),
        AcastLaunchGroup(new DateTime(2019, 1, 28, 0, 0), Seq(
          "environment/series/look-at-me")),
        AcastLaunchGroup(new DateTime(2019, 5, 23, 0, 0), Seq(
          "sport/series/the-spin-podcast")),
        AcastLaunchGroup(new DateTime(2019, 10, 7, 0, 0), Seq(
          "australia-news/series/full-story")),
        AcastLaunchGroup(new DateTime(2020, 1, 28, 0, 0), Seq(
          "science/series/thegenegapcommonthreads")),
        AcastLaunchGroup(new DateTime(2020, 5, 7, 0, 0), Seq(
          "football/series/forgotten-stories-of-football")),
        AcastLaunchGroup(new DateTime(2020, 6, 18, 0, 0), Seq(
          "society/series/innermost")),
        AcastLaunchGroup(new DateTime(2020, 11, 25, 0, 0), Seq(
          "australia-news/series/temporary")),
        AcastLaunchGroup(new DateTime(2021, 1, 19, 0, 0), Seq(
          "music/series/reverberate")),
        AcastLaunchGroup(new DateTime(2021, 6, 8, 0, 0), Seq(
          "lifeandstyle/series/comforteatingwithgracedent")),
        AcastLaunchGroup(new DateTime(2021, 9, 1, 0, 0), Seq(
          "australia-news/series/australia-reads")),
        AcastLaunchGroup(new DateTime(2021, 10, 5, 0, 0), Seq(
          "culture/series/saved-for-later")),
        AcastLaunchGroup(new DateTime(2021, 12, 2, 0, 0), Seq(
          "culture/series/book-it-in")),
        AcastLaunchGroup(new DateTime(2021, 12, 8, 0, 0), Seq(
          "sport/series/the-final-word-ashes-podcast")),
        AcastLaunchGroup(new DateTime(2022, 1, 31, 0, 0), Seq(
          "lifeandstyle/series/weekend")),
        AcastLaunchGroup(new DateTime(2022, 2, 18, 0, 0), Seq(
          "politics/series/politics-weekly-america")),
        AcastLaunchGroup(new DateTime(2022, 6, 28, 0, 0), Seq(
          "football/series/theguardianswomensfootballweekly")),
        AcastLaunchGroup(new DateTime(2022, 9, 6, 0, 0), Seq(
          "society/series/canitellyouasecret")),
        AcastLaunchGroup(new DateTime(2022, 10, 18, 0, 0), Seq(
          "news/series/an-impossible-choice")),
        AcastLaunchGroup(new DateTime(2022, 10, 19, 0, 0), Seq(
          "society/series/pop-culture-with-chante-joseph")),
        AcastLaunchGroup(new DateTime(2022, 10, 26, 0, 0), Seq(
          "news/series/ben-roberts-smith-v-the-media")),
        AcastLaunchGroup(new DateTime(2022, 10, 28, 0, 0), Seq(
          "news/series/australia-v-the-climate")),
        AcastLaunchGroup(new DateTime(2023, 3, 28, 0, 0), Seq(
          "news/series/cotton-capital-podcast")),
        AcastLaunchGroup(new DateTime(2024, 2, 15, 0, 0), Seq(
          "technology/series/blackbox")),
        AcastLaunchGroup(new DateTime(2024, 4, 11, 0, 0), Seq(
          "australia-news/series/who-screwed-millennials")),
        // Yes, the launch date for the guardian-australia-podcast-series is correct. This is a new series tag for
        // pre-existing episodes that have been re-invigorated by the addition of episodic artwork, but it won't be
        // re-published. The oldest piece is expected to be from October 2022.
        AcastLaunchGroup(new DateTime(2022, 10, 1, 0, 0), Seq(
          "news/series/guardian-australia-podcast-series")))
      val useAcastProxy = !adFree && acastPodcasts.find(_.tagIds.contains(tagId)).exists(p => lastModified.isAfter(p.launchDate))
      if (useAcastProxy) "https://flex.acast.com/" + url.replace("https://", "") else url
    }