<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Industry Best Practice is another way of saying "Follow the Herd" &#187; Bashpodder</title>
	<atom:link href="http://www.hlynes.com/category/bashpodder/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.hlynes.com</link>
	<description></description>
	<lastBuildDate>Sun, 18 Sep 2011 20:51:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>New Bashpodder Package</title>
		<link>http://www.hlynes.com/2005/06/05/new-bashpodder-package/</link>
		<comments>http://www.hlynes.com/2005/06/05/new-bashpodder-package/#comments</comments>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Bashpodder]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[This version of bashpodder is deprecated. If you want something with this functionality go to peapodpy.org. I&#39;ve cleaned up and re-structured the script to make it easier to read and maintain. Bashpodder is also now smart enough to detect your &#8230; <a href="http://www.hlynes.com/2005/06/05/new-bashpodder-package/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>This version of bashpodder is deprecated. If you want something with this functionality go to <a href="http://www.peapodpy.org.uk" target="_self">peapodpy.org</a></strong>.</p>
<p>I&#39;ve cleaned up and re-structured the script to make it easier to read<br />
and maintain. Bashpodder is also now smart enough to detect your<br />
bittorrent version and do the right thing. Also added the much<br />
requested feature of only downloading the latest show in a feed. Rather<br />
than blathering on I shall simply post the helpful README file that<br />
I&#39;ve included in the new package.</p>
<p>If you are interested read on..</p>
<p><span id="more-16"></span><br />It has few dependencies and should run on most linux or unix systems. It can be<br />
configured to only download a set number of shows from each feed. It also has <br />
bittorrent support.</p>
<p>#Setting up bashpodder</p>
<p>copy the contents of the tar archive into a directory where you want <br />
your podcasts to get downloaded to. My copy of bashpodder and its <br />
accessory scripts live in $HOME/podcasts</p>
<p>The urls for the feeds you want to subscribe to go in bp.conf . The<br />
version you just downloaded contains the feeds that I listen to. Feel<br />
free to delete them if they are not to your taste.</p>
<p>You should now run the check_dependencies script. This will tell you if<br />
you have all the necessary software installed to run bashpodder.<br />
Bittorrent is optional. If you don&#39;t subscribe to any bittorrent feeds<br />
then you don&#39;t have to install bittorrent.</p>
<p>#Configuration</p>
<p>There are a number of variables within the bashpodder script that can be<br />
changed to alter bashpodder&#39;s behaviour.</p>
<p>limit_downloads=</p>
<p>set this to 1 to limit the number of items bashpodder will download from<br />
a single feed.</p>
<p>download_limit=</p>
<p>set this to the number of items you wish to download from each feed.<br />
Only has an effect if limit_downloads is set to 1.</p>
<p>incremental=</p>
<p>set this to 0 so that bashpodder will only download items that appeared<br />
in the feed since you last ran bashpodder. Set to 1 and bashpodder will<br />
work its way through old items in feeds until all items are downloaded.</p>
<p>selfish=</p>
<p>set to 1 so that bashpodder will not seed torrents that it has<br />
downloaded.</p>
<p>#Usage</p>
<p>./bashpodder.shell</p>
<p>will download all podcasts into a directory YEAR-MM-DD. Then creates a<br />
playlist called podcast.m3u within that directory.<br />
#Accessory scripts</p>
<p>check_dependencies<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
lets you know if you have all the right software installed for<br />
bashpodder to work.</p>
<p>HTTPDate<br />
&#8212;&#8212;&#8211;<br />
small perl script to do date parsing. Allows bashpodder to work out<br />
which shows in a feed are most recent.</p>
<p>btpodder3.4.py and btpodder.py<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
these scripts allow bashpodder to download bittorrent distributed<br />
podcasts.</p>
<p>
<a target="_self" href="../../../archive/scripts/bashpodder.tar">Download the package.</a></p>
<p>Happy Podcatching,</p>
<p>Huw</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hlynes.com/2005/06/05/new-bashpodder-package/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BtPodder Updated</title>
		<link>http://www.hlynes.com/2005/05/15/btpodder-updated/</link>
		<comments>http://www.hlynes.com/2005/05/15/btpodder-updated/#comments</comments>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Bashpodder]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[After putting it off for quite some time I&#39;ve finally updated btpodder.py to work against BitTorrent version 4. So you no longer have to use an old-fashioned version of BitTorrent to get bashpodder to supoort bittorrent downloads. The new btpodder. &#8230; <a href="http://www.hlynes.com/2005/05/15/btpodder-updated/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>After putting it off for quite some time I&#39;ve finally updated<br />
btpodder.py to work against BitTorrent version 4. So you no longer have<br />
to use an old-fashioned version of BitTorrent to get bashpodder to<br />
supoort bittorrent downloads.</p>
<p>The new <a target="_self" href="../../../archive/scripts/btpodder.py">btpodder</a>.</p>
<p>The <a target="_self" href="../../../archive/scripts/btpodder3.4.py">btpodder</a> for version 3.4 of BitTorrent.</p>
<p><span id="more-17"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hlynes.com/2005/05/15/btpodder-updated/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New version of Bashpodder</title>
		<link>http://www.hlynes.com/2005/05/04/new-version-of-bashpodder/</link>
		<comments>http://www.hlynes.com/2005/05/04/new-version-of-bashpodder/#comments</comments>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Bashpodder]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Ooh, lots of bug-fixes in this release. As the number of feeds I&#39;m subscribed to has increased so have the number of weird RSS parsing bugs. Slacker Astronomy put line-feeds in their enclosures, which is legal but unexpected. Anyway the &#8230; <a href="http://www.hlynes.com/2005/05/04/new-version-of-bashpodder/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Ooh, lots of bug-fixes in this release. As the number of feeds I&#39;m<br />
subscribed to has increased so have the number of weird RSS parsing<br />
bugs. <a href="http://www.slackerastronomy.org" target="_self">Slacker Astronomy</a><br />
put line-feeds in their enclosures, which is legal but unexpected.<br />
Anyway the major step forward is that I&#39;m now basing decisions on the<br />
filename returned from the HTTP request rather than relying on the url<br />
in the RSS feed. This allows the new version of Bashpodder to handle<br />
all kinds of craziness.</p>
<p>The podcast.log format differs slighlty from the original <a href="http://linc.homeunix.org:8080/scripts/bashpodder/" target="_self">bashpodder</a>. To be safe you may want to run <strong>bashpodder.shell -nograb </strong>to write out a new log first time around.</p>
<p>The new script can be found <a href="/archive/scripts/bashpodder.shell" target="_self">here</a>.</p>
<p><span id="more-15"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hlynes.com/2005/05/04/new-version-of-bashpodder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bashpodder</title>
		<link>http://www.hlynes.com/2005/02/28/bashpodder/</link>
		<comments>http://www.hlynes.com/2005/02/28/bashpodder/#comments</comments>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Bashpodder]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[[updated 2006] this version of bashpodder is only kept around for historical reasons. If you are looking for a command-line podcatcher that supports bittorrent then try Peapod. This is superior in every way to bashpodder and is being actively maintained. &#8230; <a href="http://www.hlynes.com/2005/02/28/bashpodder/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>[updated 2006]</p>
<p>this version of bashpodder is only kept around for historical reasons.</p>
<p>If you are looking for a command-line podcatcher that supports bittorrent then try <a href="http://www.peapodpy.org.uk">Peapod</a>. This is superior in every way to bashpodder and is being actively maintained.</p>
<p>I&#8217;ve put a version of bashpodder.shell up on the site. This one will<br />
fetch podcasts from bittorent as well as http and ftp, and then write<br />
the podcast.m3u once it&#8217;s done.<br />
<a target="_self" href="http://www.hlynes.com/content/view/22/43/" /></p>
<p><a target="_self" href="http://www.hlynes.com/content/view/22/43/">Get it here</a>.</p>
<p><span id="more-13"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hlynes.com/2005/02/28/bashpodder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dirty Hacks&#8217;r&#8217; Us</title>
		<link>http://www.hlynes.com/2005/02/17/dirty-hacksr-us/</link>
		<comments>http://www.hlynes.com/2005/02/17/dirty-hacksr-us/#comments</comments>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Bashpodder]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[So my hacky little python script to download bittorrent feeds in a more scripting friendly manner is working perfectly now. A number of people have mentioned that they think this would be a generally helpful thing to have so I&#39;m &#8230; <a href="http://www.hlynes.com/2005/02/17/dirty-hacksr-us/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>So my hacky little python script to download bittorrent feeds in a more<br />
scripting friendly manner is working perfectly now. A number of people<br />
have mentioned that they think this would be a generally helpful thing<br />
to have so I&#39;m putting up a link to it here for anyone who wants to<br />
play with it.</p>
<p><a target="_self" href="/archive/scripts/btpodder.py">Here it is</a>.</p>
<p>You&#39;ll need version 3.4 of bittorrent to use this script.</p>
<p><span id="more-11"></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hlynes.com/2005/02/17/dirty-hacksr-us/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bashpodder and BitTorrent</title>
		<link>http://www.hlynes.com/2005/02/13/bashpodder-and-bittorrent/</link>
		<comments>http://www.hlynes.com/2005/02/13/bashpodder-and-bittorrent/#comments</comments>
		<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate>
		<dc:creator>Administrator</dc:creator>
				<category><![CDATA[Bashpodder]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Bashpodder, in case you are not already familiar with it, is a command line tool for downloading podcasts. I like it because it&#39;s unintrusive and can be run from a cron job. Which means when I get home in the &#8230; <a href="http://www.hlynes.com/2005/02/13/bashpodder-and-bittorrent/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://linc.homeunix.org:8080/scripts/bashpodder/" target="_self">Bashpodder</a>, in case you are not already familiar with it, is a command line tool for downloading <a href="http://en.wikipedia.org/wiki/Podcasting" target="_self">podcasts</a>.<br />
I like it because it&#39;s unintrusive and can be run from a cron job.<br />
Which means when I get home in the evening I can just check today&#39;s<br />
download directory and see what cool stuff I have to listen to. </p>
<p><span id="more-10"></span><br />I did some cleaning of the scrip on saturday afternoon to make it deal<br />
with disconnection in a more sane manner, and also to take advantage of<br />
wget&#39;s ability to recomence a download that has already started. This<br />
means that bashpodder should be a bit less of bandwidth whore in the<br />
future.</p>
<p>I subscribed to the RSS feed of <a href="www.evilgeniuschronicles.org" target="_self">evilgeniuschronicles</a>.<br />
All was well until I looked in my download directory to see lots of<br />
*.mp3.torrent files. Bummer.&#160; Drunk on success I thought &quot;I shall<br />
now go forth and add bittorrent support to bashpodder&quot;. BitTorrent is<br />
wriiten in python so I thought there was probably a good chance to get<br />
where I wanted to go since I already know python. There is even a<br />
command-line script called btdownloadheadles.py. However like most<br />
bittorrent clients this stays open until it&#39;s explicitly killed. This<br />
wasn&#39;t the behaviour I was looking for but I figured it wouldn&#39;t take<br />
too much tweaking to get it to exit on success or failure. Six hours<br />
later at four in the morning I finally gave up and went to bed.<br />
Throwing sys.exit(0) anywhere in the code just disn&#39;t seem to work.</p>
<p>After a good sleep it took me about ten minutes to work out what had<br />
been outfoxing me for hours. The bittorrent code treats a sys.exit(0)<br />
as an error state. So you end up in the generic error function. By<br />
adding a sys.exit(1) into the error function I could finally get the<br />
damn thing to exit. I tidied it up to add some checks in the error<br />
function so that it calls sys.exit(0) is it got there by receiving<br />
sys.exit(0) else it exits with a non-zero error code.</p>
<p>Of course now that I I&#39;ve got working code the egr feed has gone down so I can&#39;t test it. It&#39;ll just have to wait till tommorow.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hlynes.com/2005/02/13/bashpodder-and-bittorrent/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

