Conditional GET plus an RSS-first, Atom-fallback parser normalising both into one entry model, with iTunes explicit and ttl handling carried over from the Python. Enclosures are recorded as pending; nothing downloads yet. GUID falls back guid -> link -> enclosure url -> title rather than hashing the description as the original did. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RPyeapneuXrCdojsaiXGbe
38 lines
1.4 KiB
XML
38 lines
1.4 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<rss version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd">
|
|
<channel>
|
|
<title>Test Cast</title>
|
|
<link>https://example.com/</link>
|
|
<description>A synthetic feed used by the parser tests.</description>
|
|
<ttl>45</ttl>
|
|
<itunes:explicit>no</itunes:explicit>
|
|
|
|
<item>
|
|
<title>Episode One</title>
|
|
<link>https://example.com/ep/1</link>
|
|
<guid isPermaLink="true">https://example.com/ep/1</guid>
|
|
<pubDate>Sun, 29 Feb 2004 01:00:00 +0000</pubDate>
|
|
<description><p>First one.</p></description>
|
|
<category>Tech</category>
|
|
<itunes:explicit>no</itunes:explicit>
|
|
<enclosure url="https://example.com/ep1.mp3" length="12345678" type="audio/mpeg"/>
|
|
</item>
|
|
|
|
<item>
|
|
<title>Episode Two</title>
|
|
<guid isPermaLink="false">ep-2-guid</guid>
|
|
<pubDate>Mon, 01 Mar 2004 01:00:00 +0000</pubDate>
|
|
<description>Salty language.</description>
|
|
<itunes:explicit>yes</itunes:explicit>
|
|
<enclosure url="https://example.com/ep2.mp3" length="222" type="audio/mpeg"/>
|
|
</item>
|
|
|
|
<item>
|
|
<title>Episode Three</title>
|
|
<guid isPermaLink="false">ep-3-guid</guid>
|
|
<description>Distributed the old way.</description>
|
|
<enclosure url="https://example.com/ep3.torrent" length="4096" type="application/x-bittorrent"/>
|
|
</item>
|
|
</channel>
|
|
</rss>
|