Add Patreon feed, require PATREON_FEED_URL
HRN episodes come first, Patreon episodes append after.

Assisted-by: Claude Opus 4.6 via pi
change oovzqrvkqwpnlzsqptqpvpklyknwquqo
commit 6391144d20a3243d4983a83a68eafdcd502ddaba
author Alpha Chen <alpha@kejadlen.dev>
date
parent lslzuznq
diff --git a/Rakefile b/Rakefile
index 789f9a6..3b91248 100644
--- a/Rakefile
+++ b/Rakefile
@@ -9,9 +9,13 @@ require_relative "lib/download"
 CACHE_DIR = Pathname("cache")
 AUDIO_DIR = CACHE_DIR / "audio"
 TRANSCRIPTS_DIR = Pathname("transcripts")
+
 HRN_FEED = CACHE_DIR / "hrn_feed.xml"
 HRN_FEED_URL = "https://rss.art19.com/cooking-issues"
 
+PATREON_FEED = CACHE_DIR / "patreon_feed.xml"
+PATREON_FEED_URL = ENV.fetch("PATREON_FEED_URL")
+
 directory CACHE_DIR.to_s
 directory AUDIO_DIR.to_s
 
@@ -24,14 +28,20 @@ file HRN_FEED.to_s => CACHE_DIR.to_s do
   HRN_FEED.write(response.body)
 end
 
+file PATREON_FEED.to_s => CACHE_DIR.to_s do
+  puts "Downloading Patreon feed..."
+  CookingIssues::Download.fetch(PATREON_FEED_URL, PATREON_FEED.to_s)
+end
+
 load File.expand_path("lib/tasks/transcribers.rake", __dir__)
 
 TRANSCRIBER = Transcribers.resolve(ENV.fetch("TRANSCRIBER", "sous_chef"))
 TRANSCRIBER.register
 
 Rake::Task[HRN_FEED.to_s].invoke
+Rake::Task[PATREON_FEED.to_s].invoke
 
-EPISODES = CookingIssues::Feed.parse(HRN_FEED)
+EPISODES = CookingIssues::Feed.parse(HRN_FEED) + CookingIssues::Feed.parse(PATREON_FEED)
 
 def episode_slug(index, ep)
   format("%03d-%s", index + 1, ep.slug)