diff --git a/scripts/determine_site.py b/scripts/determine_site.py index bbd5510..7f50289 100644 --- a/scripts/determine_site.py +++ b/scripts/determine_site.py @@ -24,6 +24,8 @@ supported_sites = { "pocketcasts" : ["pca.st"], + "podbay" : ["podbay.fm"], + "radiopublic" : ["radiopublic.com"], "reddit" : ["reddit.com"], diff --git a/scripts/extractors/podbay.py b/scripts/extractors/podbay.py new file mode 100644 index 0000000..5a094c4 --- /dev/null +++ b/scripts/extractors/podbay.py @@ -0,0 +1,23 @@ +#!/usr/bin/python3 + +from utils import * +from download_page import download + +# portable code to get filename +import os +platform = os.path.basename(__file__) +if platform.endswith(".py"): + platform = platform[:(-3)] + +def extract_from_page (page, verbosity): + return search (page, '"feed_url":"', '"') + +def extract (url, page=None, network=False, verbosity=3, args={}): + # cannot get feed from URL alone + if not network: + return None + + page = download (platform, url, args, verbosity) + feed = extract_from_page (page, verbosity) + if not feed is None: + return feed diff --git a/tests/podbay.txt b/tests/podbay.txt new file mode 100644 index 0000000..ad3fe40 --- /dev/null +++ b/tests/podbay.txt @@ -0,0 +1,5 @@ +# NOTE: Podbay uses Cloudflare +https://podbay.fm/p/the-t-wiz-podcast/charts https://feeds.redcircle.com/c5b06233-b342-46ec-ad82-d9d4d516b0a9 +https://podbay.fm/p/the-t-wiz-podcast https://feeds.redcircle.com/c5b06233-b342-46ec-ad82-d9d4d516b0a9 +https://podbay.fm/p/1001-classic-short-stories-and-tales/e/1640559600 https://feeds.megaphone.fm/ADL7573342845 +https://podbay.fm/p/nevertheless-she-existed/e/1564556437 https://anchor.fm/s/11319d48/podcast/rss