For quite a while I was looking for a portable podcast software for Windows. Because I travel a lot and listen to many podcasts, I need to download them somehow while on the road without having a computer with me.
So every few days I would go to an internet café check my email and the latest feeds in Google Reader. Then I would manually download each file and copy it over to my MP3 player.
Even on my home PC I would do the same for a while because I wouldn't install iTunes and tried to avoid installing other media software.
So I used gPodder for a while but it requires at least 4 clicks to download the latest podcasts. That's too many.
gPodder comes with a command line version gpod.exe but that is not working within the PortableApps package.
Here's what I did to get a one-click portable podcast download solution:
Download the gPodder Portable portableapps.com/apps/internet/gpodder_portable
Download the normal Windows gPodder gpodder.org/downloads
On my USB thumb drive, I have a \Apps folder that was many portable apps. In there I create a new directory 'gPodder'
Run gPodderPortable_3.3.0_Rev_3.paf.exe and as the destination folder, pick 'Apps\gPodder' you just created.
Navigate to '\Apps\gPodder\gPodderPortable\App\Python' and select all files and cut them (Crtl+X, Crtl+C), move up to '\Apps\gPodder\' and paste (Crtl+V). Now delete the 'gPodderPortable' directory. We just used this to get a version of the Python runtime.
Open \Apps\gPodder\PyDLL and delete all files but 'python27.dll'
Finally create an empty directory 'Data' under '\Apps\gPodder\' this is where we store the configuration and mp3 files.
Now extract the content of the file 'gpodder-3.x.x-win32.zip' (3 folders, 5 files) to '\Apps\gPodder\'.
We now have all the files we need, but it does not work just like that. Because gPodder is written in Python we need to make it work with the Python we just downloaded.
This is usually done by adding the location of the Python files to the Windows 'Path' variable. We don't want to change the global path variable, but we could also change the path for a command line session.
Open a command prompt (cmd.exe) and type/copy the following, assuming x: is the drive letter of your USB thumbdrive:
X: cd \apps\gPodder SET appDir=X:\apps\gPodder set path=%systemroot%\system32;%appDir%\PyDLL;%appDir%\Lib;%appDir%\DLLs gpodder.exe
A dialog will pop up:
Select 'no' and in the next dialog select the 'x:\Apps\gPodder\Data' folder.
Now you have to set up gPodder for the first time. You can manually add URLs or so your subscriptions from gpodder.net.
You should then 'Check for new episodes' and download the ones you want. I had already listened to them all, so selected all and click 'Mark as old':
We are now done with the initial setup, close the program.
If you used gpodder.net to get your existing subscriptions, open the file 'X:\Apps\gpodder\Data\Settings.json' in a notepad and search for 'password', You'll find your username and password for gpodder.net, replace them with dummy data, you don't want these credentials in clear text in a file on your thumb drive. You only need them if you want to sync your subscriptions with gpodder.net, not for downloading podcasts.
In the existing command prompt window, type:
Now we are in the command line version of gPodder, we can list our subscriptions:
Check for new podcasts ready to be downloaded:
See whether there are any podcasts to download:
And actually download them
To exit the command line interface, just:
Remember above we did set the path variable to %systemroot%\system32;%appDir%\PyDLL;%appDir%\Lib;%appDir%\DLLs,
We overrode the existing path variable, but that's okay, this value is only valid for the current session. If you open another command prompt, it has its own path value.
We had to do this, so gPodder can find all the required Python files, because we have to do this every time we want to use gPodder, we create some batch files.
This first one is for starting the Windows version of gPodder, save the following into the file ' X:\Apps\gpodder\gui.cmd'
@ECHO OFF SET appDir=%~dp0 reg.exe add "HKEY_CURRENT_USER\Software\gpodder.org\gPodder" /v GPODDER_HOME /t REG_SZ /d "%appDir%Data" /f set path=%systemroot%\system32;%appDir%PyDLL;%appDir%Lib;%appDir%DLLs pushd %~dp0 start gpodder.exe
This next one gets us into the command line version, save it as X:\Apps\gpodder\cli.cmd
@ECHO OFF SET appDir=%~dp0 reg.exe add "HKEY_CURRENT_USER\Software\gpodder.org\gPodder" /v GPODDER_HOME /t REG_SZ /d "%appDir%Data" /f set path=%systemroot%\system32;%appDir%PyDLL;%appDir%Lib;%appDir%DLLs pushd %~dp0 gpo.exe
The third actually downloads all new popdcasts, the main purpose of all this, save it to X:\Apps\gpodder\Download.cmd
@ECHO OFF SET appDir=%~dp0 reg.exe add "HKEY_CURRENT_USER\Software\gpodder.org\gPodder" /v GPODDER_HOME /t REG_SZ /d "%appDir%Data" /f set path=%systemroot%\system32;%appDir%PyDLL;%appDir%Lib;%appDir%DLLs pushd %~dp0 gpo.exe update gpo.exe download cd %appDir%\Data\Downloads for /r %%x in (*.mp3) do move "%%x" \podcasts\ popd SET /p dummy=Press any key to close
Notice the line:
for /r %%x in (*.mp3) do move "%%x" \podcasts\
When gPodder downloads an MP3s file, it saves it in a directory with the name of the podcast under X:\Apps\gpodder\Data\Downloads, this is a bit annoying, because I want the files in a single directory where I can see them and copy them over to my MP3 player. That line just copies all MP3 files to X:\podcasts, you can change or remove this if you want.
The final batch file is the one we are actually going to use, because we need to start a new Command Prompt session to run one of the previous three batch files in:
@ECHO OFF IF [%1] EQU  start cmd.exe /c \Apps\gpodder\Download.cmd IF "%1"=="gui" start cmd.exe /c \Apps\gpodder\gui.cmd IF "%1"=="cli" start cmd.exe /c \Apps\gpodder\cli.cmd
I saved this file as 'gpo.cmd' in my bin directory of my thumbdrive. To use it I open a command prompt and type either:
To open the command line interface or the Windows program, when started without a parameter or just double-clicked in Explorer it will start the download process.