Files
Lee Hanken 7c8efd2228 Initial commit: HPR Knowledge Base MCP Server
- MCP server with stdio transport for local use
- Search episodes, transcripts, hosts, and series
- 4,511 episodes with metadata and transcripts
- Data loader with in-memory JSON storage

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-26 10:54:13 +00:00

88 lines
6.8 KiB
Plaintext

Episode: 1935
Title: HPR1935: Quick Bashpodder Fix
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr1935/hpr1935.mp3
Transcribed: 2025-10-18 11:19:47
---
This in HPR episode 1935 entitled Quick Mashable Fixed, it is hosted by Charles Nnj and
in about 10 minutes long, the summary is, Charles Nnj returns with a short show to discuss
a fix he made to Mashable.
This episode of HPR is brought to you by an honesthost.com, get 15% discount on all shared
hosting with the offer code HPR15, that's HPR15, better web hosting that's honest and
fair at an honesthost.com.
Hi, and welcome to Hacker Public Radio.
This is Charles Nnj and I'm back with a quick podcast for New Year's Day.
To tell you about a fix I found for a, an annoying bug where it is the bug to me in the
bash potter script for downloading audio podcasts and I guess other types of media files
as well from, from different feeds.
And here's the background.
I've been using bash potter, oh, I would say for five years or something like that, to
download my audio podcasts and it's been working fine except for two feeds that I subscribe
to and that's, and they're both concerning the TED Talks.
One is the TED Talk feed itself, the audio feed, I don't, if I need to see the video I can
go to YouTube.
The other is the NPR Digest show called the TED Radio Hour.
Both of these have feeds that give you back URLs that do not end in the file name but
end in a bunch of additional fields that are delimited by question marks in usual way.
And bash potter is, oh thank you train, that bash potter is downloading these and overlaying
the file names with the serial number or API key in the case of the TED Talks number for
the feed itself as opposed to the actual file name, something .mp3, I think it is, yeah
they're MP3 feeds, they're not Og.
In any case, I was a little annoyed with this so I wrote a little Python script to go and
fix the URLs that I wanted to, I wanted to download from those two feeds and I was going
to replace bash potter with an enhanced version of that until I decided to just look at the
code and it turns out that there's an easy fix that you can make to bash potter just
a few lines from the bottom in the middle of the wild loop as it's going through the list
of URLs that you've downloaded, it's doing a grip to see whether you've already downloaded
the resource at that URL in each case and if you haven't, if it's not there, then it
does a W get and it constructs the file name from the URL and it does this by picking
it out with a series of three calls to Og and in each case it either grabs the, it grabs
the file name if it's the last thing in the URL following a slash or the last thing in
a URL following an equal sign or if it's the last thing in the URL before the first question
mark and it takes that thing that it has stripped out and sends it in as the file name that it
wants to give to the resource that you're downloading. Now it goes and gets the audio files just
fine but if it's always grabbing the feed name from the URL to assign it to a disk file, it's
going to name every MP3 file 510298 or that other large incomprehensible number from the
TED feed. So all I did to fix this was I moved the final check for the Gramps URL, everything
from the URL before the first additional field. In other words, the last check I just moved
it to the front and now it's picking up my ordinary feeds just fine and it's picking up the it's
picking up the TED TED talk and TED radio our resources and giving them the correct names.
And then to make sure I got everything, I went into my podcast.log and deleted all of the URLs
that were stored there from previous runs of bashbotter over the years that related to those
two feeds and I got everything and it was all correctly named and everything. So that looks
like it's working. Now let's see that's about all I have to say. Your mileage may vary, there may be
some feeds where this won't work but I haven't identified those yet. And as a public service I'm going
to be forwarding the original bashbotter script, the stock version that I got from the website,
the new revise script that as I have it with only a one line change in the final WGet statement.
And an abbreviated BP.conf to show what the feeds that I'm using look like. The conf file
is a configuration file. It just gives the bashbotter script something to look for. And I also have an
abbreviated podcast.log to show what some of the URLs look like when they're passed to the script
and saved in the course of running bashbotter. So to make sure we won't download any shows that
you've already retrieved, it keeps the log of everything that is downloaded, including all the URLs.
And it matches those against the feed. Now this is the old school bashbotter.
Has long ago given you additional tweaks you can make, you can put comments in and control the
number of things that you download and all that sort of thing. But I decided to just stay
with the one that I was using and just make sure that it's working correctly for me.
I was going to contribute this change as a patch to the bashbotter site.
But I thought I would throw this out there because I don't know if they're interested in getting patches
since the version I have is pretty old. I think it's as of 2008 or something like that.
So thanks to the supporters of bashbotter. Those who put it out there and taught me how to use it.
It's pretty easy to use and with this fix it works for all of my feeds. So I'm pretty happy with it.
And I hope that this fix and the contributed resources will help some of you to use that instead of something
a lot more complicated than just more fraught with maintenance concerns like say the evil items or some other service
that's supposed to provide you with new content for your music player.
But if all you need are new files, then a script really ought to do it. And this is one of those scripts.
So thanks. I hope you all have a great new year. I won't be around for New Year's Eve or New Year's Day
because I have many, many things to do with family and elder care responsibilities and probably child care as well.
So that's it from here. Have a great day today and we'll see you in 2016.
Take care and goodbye from hacker public radio.
Tudels.
We are a community podcast network that releases shows every weekday Monday through Friday.
Today's show, like all our shows, was contributed by an HPR listener like yourself.
If you ever thought of recording a podcast and click on our contributing to find out how easy it really is.
Hacker Public Radio was founded by the digital dog pound and the Infonomicon Computer Club.
And it's part of the binary revolution at binrev.com.
If you have comments on today's show, please email the host directly, leave a comment on the website or record a follow-up episode yourself.
Unless otherwise status, today's show is released on the creative comments, attribution, share a light, 3.0 license.