Skip to content

Add support for podcast RSS feeds #164

Description

@EdricChan03

Currently, the API I'm using to parse RSS feeds to JSON (rss2json) also supports parsing podcast RSS feeds as the formats are quite similar.

Here's what the API spits out (for a single item) when I pass in a regular RSS feed (I'm using the RSS feed from the Android Developers blog):

{
  "title": "The path to DX deprecation",
  "pubDate": "2020-02-04 17:00:00",
  "link": "http://feedproxy.google.com/~r/blogspot/hsDu/~3/QFqlKD_NKMY/the-path-to-dx-deprecation.html",
  "guid": "tag:blogger.com,1999:blog-6755709643044947179.post-2036758058664532886",
  "author": "Android Developers",
  "thumbnail": "https://1.bp.blogspot.com/-v8edB3sVed0/XjmhkeNtWVI/AAAAAAAAOC0/7_7cVD3KIIkumfdnR4IAqWkCn4l9IccdgCLcBGAsYHQ/s72-c/unnamed.png",
  "description": "\n<img src=\"https://1.bp.blogspot.com/-v8edB3sVed0/XjmhkeNtWVI/AAAAAAAAOC0/7_7cVD3KIIkumfdnR4IAqWkCn4l9IccdgCLcBGAsYHQ/s1600/unnamed.png\"><a href=\"https://1.bp.blogspot.com/-v8edB3sVed0/XjmhkeNtWVI/AAAAAAAAOC0/7_7cVD3KIIkumfdnR4IAqWkCn4l9IccdgCLcBGAsYHQ/s1600/unnamed.png\" imageanchor=\"1\"><img border=\"0\" src=\"https://1.bp.blogspot.com/-v8edB3sVed0/XjmhkeNtWVI/AAAAAAAAOC0/7_7cVD3KIIkumfdnR4IAqWkCn4l9IccdgCLcBGAsYHQ/s1600/unnamed.png\" data-original-width=\"512\" data-original-height=\"152\" alt=\"generic Android header\"></a>\n\n<p>\n<em>Posted by Leo Sei, Product Manager on Android </em>\n</p>\n<p>\nBack in 2017, we released D8, a new faster dexing compiler to replace DX, producing smaller APKs. In April 2018, we <a href=\"https://android-developers.googleblog.com/2018/04/android-studio-switching-to-d8-dexer.html\">announced</a> D8 as the default option in Android Studio 3.1.\n</p>\n<p>\nIn that announcement, we laid out 3 phases to deprecate DX and we are now entering phase 2:\n</p>\n<p>\n<em>“Once we've seen a six month window without major regressions from DX to D8, we'll enter the second phase. This phase will last for a year, and is intended to ensure that even complex projects have lots of time to migrate. During this phase, we'll keep DX available, but we'll treat it as fully deprecated; we won't be fixing any issues.”</em>\n</p>\n<p>\nIf you haven’t already, it is now the time to migrate to D8 (see details in the <a href=\"https://android-developers.googleblog.com/2018/04/android-studio-switching-to-d8-dexer.html\">previous post</a>). As always, if you encounter issues, please do <a href=\"https://b.corp.google.com/issues/new?component=192708&amp;template=840533\">let us know</a>!\n</p>\n<p>\n<strong>Next steps</strong>\n</p>\n<p>\nOn Feb 1st, 2021, we’ll move to step 3, removing DX fully from Android Studio and any other build environments.\n</p>\n<p>\nNote: This post is about DX only (and does <span>not</span> include shrinking tools)\n</p>\n<div class=\"feedflare\">\n<a href=\"http://feeds.feedburner.com/~ff/blogspot/hsDu?a=QFqlKD_NKMY:82VXdZKzSt8:yIl2AUoC8zA\"><img src=\"http://feeds.feedburner.com/~ff/blogspot/hsDu?d=yIl2AUoC8zA\" border=\"0\"></a> <a href=\"http://feeds.feedburner.com/~ff/blogspot/hsDu?a=QFqlKD_NKMY:82VXdZKzSt8:-BTjWOF_DHI\"><img src=\"http://feeds.feedburner.com/~ff/blogspot/hsDu?i=QFqlKD_NKMY:82VXdZKzSt8:-BTjWOF_DHI\" border=\"0\"></a>\n</div>\n<img src=\"http://feeds.feedburner.com/~r/blogspot/hsDu/~4/QFqlKD_NKMY\" height=\"1\" width=\"1\" alt=\"\">\n",
  "content": "\n<img src=\"https://1.bp.blogspot.com/-v8edB3sVed0/XjmhkeNtWVI/AAAAAAAAOC0/7_7cVD3KIIkumfdnR4IAqWkCn4l9IccdgCLcBGAsYHQ/s1600/unnamed.png\"><a href=\"https://1.bp.blogspot.com/-v8edB3sVed0/XjmhkeNtWVI/AAAAAAAAOC0/7_7cVD3KIIkumfdnR4IAqWkCn4l9IccdgCLcBGAsYHQ/s1600/unnamed.png\" imageanchor=\"1\"><img border=\"0\" src=\"https://1.bp.blogspot.com/-v8edB3sVed0/XjmhkeNtWVI/AAAAAAAAOC0/7_7cVD3KIIkumfdnR4IAqWkCn4l9IccdgCLcBGAsYHQ/s1600/unnamed.png\" data-original-width=\"512\" data-original-height=\"152\" alt=\"generic Android header\"></a>\n\n<p>\n<em>Posted by Leo Sei, Product Manager on Android </em>\n</p>\n<p>\nBack in 2017, we released D8, a new faster dexing compiler to replace DX, producing smaller APKs. In April 2018, we <a href=\"https://android-developers.googleblog.com/2018/04/android-studio-switching-to-d8-dexer.html\">announced</a> D8 as the default option in Android Studio 3.1.\n</p>\n<p>\nIn that announcement, we laid out 3 phases to deprecate DX and we are now entering phase 2:\n</p>\n<p>\n<em>“Once we've seen a six month window without major regressions from DX to D8, we'll enter the second phase. This phase will last for a year, and is intended to ensure that even complex projects have lots of time to migrate. During this phase, we'll keep DX available, but we'll treat it as fully deprecated; we won't be fixing any issues.”</em>\n</p>\n<p>\nIf you haven’t already, it is now the time to migrate to D8 (see details in the <a href=\"https://android-developers.googleblog.com/2018/04/android-studio-switching-to-d8-dexer.html\">previous post</a>). As always, if you encounter issues, please do <a href=\"https://b.corp.google.com/issues/new?component=192708&amp;template=840533\">let us know</a>!\n</p>\n<p>\n<strong>Next steps</strong>\n</p>\n<p>\nOn Feb 1st, 2021, we’ll move to step 3, removing DX fully from Android Studio and any other build environments.\n</p>\n<p>\nNote: This post is about DX only (and does <span>not</span> include shrinking tools)\n</p>\n<div class=\"feedflare\">\n<a href=\"http://feeds.feedburner.com/~ff/blogspot/hsDu?a=QFqlKD_NKMY:82VXdZKzSt8:yIl2AUoC8zA\"><img src=\"http://feeds.feedburner.com/~ff/blogspot/hsDu?d=yIl2AUoC8zA\" border=\"0\"></a> <a href=\"http://feeds.feedburner.com/~ff/blogspot/hsDu?a=QFqlKD_NKMY:82VXdZKzSt8:-BTjWOF_DHI\"><img src=\"http://feeds.feedburner.com/~ff/blogspot/hsDu?i=QFqlKD_NKMY:82VXdZKzSt8:-BTjWOF_DHI\" border=\"0\"></a>\n</div>\n<img src=\"http://feeds.feedburner.com/~r/blogspot/hsDu/~4/QFqlKD_NKMY\" height=\"1\" width=\"1\" alt=\"\">\n",
  "enclosure": {
    "thumbnail": "https://1.bp.blogspot.com/-v8edB3sVed0/XjmhkeNtWVI/AAAAAAAAOC0/7_7cVD3KIIkumfdnR4IAqWkCn4l9IccdgCLcBGAsYHQ/s72-c/unnamed.png"
  },
  "categories": [
    "Android App",
    "d8",
    "dexer",
    "dx"
  ]
}

As compared to what it spits out (for a single item) when I pass in a podcast RSS feed (I'm using the RSS feed for the popular show "Stuff You Should Know" by HowStuffWorks and iHeartRadio):

{
  "title": "SYSK Selects: How Bonsai Works",
  "pubDate": "2020-02-08 10:00:00",
  "link": "https://www.howstuffworks.com/c3fc0fd2-5460-11e8-b38c-67bbf97a6de1",
  "guid": "c3fc0fd2-5460-11e8-b38c-67bbf97a6de1",
  "author": "iHeartRadio &amp; HowStuffWorks",
  "thumbnail": "http://megaphone-prod.s3.amazonaws.com/podcasts/c3fc0fd2-5460-11e8-b38c-67bbf97a6de1/image/uploads_2F1580829065229-5umkrrl48d-78657334576b3c7c6aa6bcba0a7f8881_2FSKSKLogo-FINAL-iHR-3000x3000.png",
  "description": "For thousands of years people have been taking normal trees and forcing them into miniature. Learn all about the history and art of this strangely engrossing pastime in this classic episode.\n Learn more about your ad-choices at https://news.iheart.com/podcast-advertisers",
  "content": "\n<p>For thousands of years people have been taking normal trees and forcing them into miniature. Learn all about the history and art of this strangely engrossing pastime in this classic episode.</p>\n<p> </p> Learn more about your ad-choices at <a href=\"https://news.iheart.com/podcast-advertisers\">https://news.iheart.com/podcast-advertisers</a>\n",
  "enclosure": {
    "link": "https://www.podtrac.com/pts/redirect.mp3/chtbl.com/track/5899E/traffic.megaphone.fm/HSW9319766045.mp3",
    "type": "audio/mpeg",
    "duration": 3528,
    "rating": {
      "scheme": "urn:itunes",
      "value": "no"
    }
  },
  "categories": []
}

Tasks

  • Add a dedicated sub-page for podcasts
    • Or maybe support podcast RSS feeds in the feeds page? (We could check if enclosure.type is of an audio file)
  • Add a new component for rendering individual items
    • Maybe turn it into a library component while we're at it
  • Indicate that podcast RSS feeds are now supported in a "What's new" pop-up? Or probably the release notes

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureEnhancements/ features to the app.priority: non-criticalNon-critical issues that still have to be fixed ASAP.type: webIssues/PRs about the web version of the app.ui/ux designIssues/PRs related to the user interface.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions