{"id":24881090,"url":"https://github.com/taext/powercasts","last_synced_at":"2025-10-16T00:31:21.942Z","repository":{"id":214180787,"uuid":"124125040","full_name":"taext/powercasts","owner":"taext","description":"Personal OPML Player: play random episodes from exported podcast player OPML RSS feed collection. Pocketcasts test OPML included, 522 feeds, 76.544 episodes.","archived":false,"fork":false,"pushed_at":"2024-10-05T11:04:47.000Z","size":54489,"stargazers_count":5,"open_issues_count":4,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-22T20:38:43.012Z","etag":null,"topics":["cli","opml","parser","player","pocketcasts","powershell","python"],"latest_commit_sha":null,"homepage":"","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/taext.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-03-06T19:02:17.000Z","updated_at":"2024-10-05T11:04:52.000Z","dependencies_parsed_at":null,"dependency_job_id":"f8fed190-919d-4b02-addf-e464b98c885e","html_url":"https://github.com/taext/powercasts","commit_stats":null,"previous_names":["taext/powercasts"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taext%2Fpowercasts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taext%2Fpowercasts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taext%2Fpowercasts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/taext%2Fpowercasts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/taext","download_url":"https://codeload.github.com/taext/powercasts/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":236657192,"owners_count":19184567,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","opml","parser","player","pocketcasts","powershell","python"],"created_at":"2025-02-01T11:32:10.631Z","updated_at":"2025-10-16T00:31:16.572Z","avatar_url":"https://github.com/taext.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# PowerCasts User Guide v0.21\n\nWhat's New: add description of VLC support for URLs text-file playback\n\n\u003cbr\u003e\n\n### 1. Parse OPML PocketCast exported feed\n\nRun `opml_parser_2.py` with your downloaded OPML XML filename as argument to build a JSON with every full-text RSS feed and a text file `podcasts_opml.txt` with all episode URLs:\n\n\n```python\n! python opml_parser_2.py podcasts_opml.xml\n```\n\n\n```python\n! ls -lh podcasts_opml.json podcasts_opml.txt\n```\n\n    -rw-r--r-- 1 dd dd 235M Feb 21 10:12 podcasts_opml.json\n    -rw-r--r-- 1 dd dd 6.5M Feb 21 10:12 podcasts_opml.txt\n\n\n\u003cbr\u003e\n\n#### 1.1. Review all episodes text file\n\n\n```python\n! head -n 5 podcasts_opml.txt\n```\n\n    https://mcdn.podbean.com/mf/web/25unw3/I_en_forstad_til_m_rket_REMIX.mp3\n    https://mcdn.podbean.com/mf/web/ptjkia/Hestene_er_Stille_REMIX.mp3\n    https://mcdn.podbean.com/mf/web/r8f7nx/Farfars_to_liv_REMIX.mp3\n    https://mcdn.podbean.com/mf/web/yi2emh/21_Roser_afsnit_05_31_07.mp3\n    https://mcdn.podbean.com/mf/web/6pc4f7/21_Roser_afsnit_04_26_46.mp3\n\n\n\n```python\n! cat podcasts_opml.txt | wc      # 76.589 episodes\n```\n\n      76589   76589 6794807\n\n\n\u003cbr\u003e\n\n#### 1.2. Output newest episodes text file\n\nRun `newest.py` to output the newest episodes from all feeds:\n\n\n```python\n! python newest.py podcasts_opml.json \u003e newest.txt\n```\n\n\u003cbr\u003e\n\n#### 1.3. Output HTML links\n\nRun `html_parser.py` with `urls.txt` and `output.htm` arguments:\n\n\n```python\n! ./html_parser.py newest.txt newest.htm\n```\n\n    Wrote file newest.htm\n\n\u003cbr\u003e\n\n### 2. Playing podcast episodes with VLC Player\nThe VLC Player supports playback of URLs in a text-file. That means the file with newest episodes `newest.txt` and all episodes `podcast_opml.txt` can be played by running VLC with the URL to the file, e.g. the URL to the files in this repo (I recommend adding --random for shuffle playback)\n\n    $ vlc --random https://raw.githubusercontent.com/taext/powercasts/master/newest.txt\n\nto playback the newest.txt episodes in random order (shuffle) and \n\n    $ vlc --random https://raw.githubusercontent.com/taext/powercasts/master/podcasts_opml.txt\n\nto playback `podcasts_opml.txt` with all the episodes.\n\n\u003cbr\u003e\n\n                                            September 12th 2021 by d@v1d.dk\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftaext%2Fpowercasts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftaext%2Fpowercasts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftaext%2Fpowercasts/lists"}