Bashpodder - select individual shows
Moderators: snarkout, Patrick, dann
Bashpodder - select individual shows
Guys,
Regarding bashpodder, I use bpgui to add/remove feeds etc and I just made a simple modification to give you a list of podcasts to download.
I also added the continue option for the downloading of the podcasts so that:
1. If you are downloading and you have a power failure etc, wget won't create a FILENAME.1 file and start again (giving you 2 copies of a podcast - one incomplete)
2. If an RSS feed lists mirrors, you don't get two copies (as above).
Finally, I included a few other mods that were from the contrib section of Lincs bashpodder page (http://linc.homeunix.org:8080/scripts/bashpodder/).
You can get it from here:
http://www.datapax.com.au/apps/dpbashpodder.php
NOTE: I don't necessarily agree with people filling RSS feeds with ALL their podcasts... I haven't decided my opinion regarding this.
SECOND NOTE: These were just quick hacks I did but I've been using it for a while and haven't had any problems. MOSTLY commented were appropriate.
Regards,
Le Fallen
JABBER: lefallen -A-T- jabber.quadronyx.com.au
E-MAIL: lefallen -A-T- quadronyx.com.au
~o~
Regarding bashpodder, I use bpgui to add/remove feeds etc and I just made a simple modification to give you a list of podcasts to download.
I also added the continue option for the downloading of the podcasts so that:
1. If you are downloading and you have a power failure etc, wget won't create a FILENAME.1 file and start again (giving you 2 copies of a podcast - one incomplete)
2. If an RSS feed lists mirrors, you don't get two copies (as above).
Finally, I included a few other mods that were from the contrib section of Lincs bashpodder page (http://linc.homeunix.org:8080/scripts/bashpodder/).
You can get it from here:
http://www.datapax.com.au/apps/dpbashpodder.php
NOTE: I don't necessarily agree with people filling RSS feeds with ALL their podcasts... I haven't decided my opinion regarding this.
SECOND NOTE: These were just quick hacks I did but I've been using it for a while and haven't had any problems. MOSTLY commented were appropriate.
Regards,
Le Fallen
JABBER: lefallen -A-T- jabber.quadronyx.com.au
E-MAIL: lefallen -A-T- quadronyx.com.au
~o~
Leon Pennington dropped me a line regarding bpconf. It's been renamed to kpodder:
I though you'd like to know there is a new version, its had a bit of a name change and several things have swapped about ( script is not in the main path config files in seprate dirs etc ), but there are some useful new features.
The link is http://www.leonscape.co.uk/linux/kpodder/index.html
Ego contemno licentia
I have installed KPodder and it is ok. KPodder is not really a GUI frontend for BashPodder like BPConf used to be. KPodder is a bit more of an independent program. It uses its own bash script that has functions based on BashPodder but KPodder will not work with the regular BashPodder script. Some of the new features are nice. Giving various options for creating the directories is cool. Being able to schedule some cron jobs to have the KPodder script scan individual feeds at different times is a cool feature too even though I probably won't use it.
The main problems that I am having are because of the new script. First off is that FeedBurner feeds don't work well with the KPodder bash script. The KPodder script is using the old sed method of parsing the rss feeds and the FeedBurner script uses several tags that utilize the url flag. This causes the KPodder script to download multiple copies of the podcasts and also the image files that are linked in the feed. Even when using the old enclosure fix for the sed method, the script only finds the image files in the Linux Reality rss file even though the script only finds the actual podcasts with every other FeedBurner feed that I have tried. I am editing the main script with some fixes, like using xsltproc to parse the rss feeds, and some of the features that I use in my modified version of BashPodder, like finding downloaded podcasts by filename only. So far, KPodder is decent despite its problems.
The main problems that I am having are because of the new script. First off is that FeedBurner feeds don't work well with the KPodder bash script. The KPodder script is using the old sed method of parsing the rss feeds and the FeedBurner script uses several tags that utilize the url flag. This causes the KPodder script to download multiple copies of the podcasts and also the image files that are linked in the feed. Even when using the old enclosure fix for the sed method, the script only finds the image files in the Linux Reality rss file even though the script only finds the actual podcasts with every other FeedBurner feed that I have tried. I am editing the main script with some fixes, like using xsltproc to parse the rss feeds, and some of the features that I use in my modified version of BashPodder, like finding downloaded podcasts by filename only. So far, KPodder is decent despite its problems.
Re: Bashpodder - select individual shows
That problem was fixed with BashPodder 1.0.LeFallen wrote:I also added the continue option for the downloading of the podcasts so that:
1. If you are downloading and you have a power failure etc, wget won't create a FILENAME.1 file and start again (giving you 2 copies of a podcast - one incomplete)
That is cool but one feature that I put into my custom version of BashPodder that I really like is having BashPodder examine the podcast.log file for the podcast filename instead of the full url to the podcast. That way, when an rss feed updates with a different mirror hosting an episode, BashPodder will not download that episode again. That type of problem used to happen quite a lot with LugRadio.LeFallen wrote:2. If an RSS feed lists mirrors, you don't get two copies (as above).
I like that you added the extra dialog in bpgui.sh.
Please contact Leon and let him know. I'm sure he'd be willing to incorporate your fixes.Ryochan7 wrote: I am editing the main script with some fixes, like using xsltproc to parse the rss feeds, and some of the features that I use in my modified version of BashPodder, like finding downloaded podcasts by filename only. So far, KPodder is decent despite its problems.
Ego contemno licentia
The major fixes are ones that are already in BashPodder 1.0 so I didn't come up with them. The only feature that I added that was based on code that I wrote was the scanning of the log file by filename instead of the full url. Even though the podbrowser apps that I have used check whether something has been downloaded by filename, that change is more of a personal preference than a real bug. Anyway, here is a list of the changes that I made.
1) Parses RSS feeds using xsltproc with the template file from BashPodder
2) Scans the podcast.log file by filename instead of the full url
3) The download portion using wget was altered using code from BashPodder 1.0. The echo command that adds the url to the temp.log file runs after wget is finished downloading a file.
4) Removes a newly made directory if nothing was downloaded during a session. I just noticed that the way I set it up will only work properly if subdirType is set to 0.
http://bored.homelinux.net/stuff/kpodder.sh
I also started messing around with the GUI and I made some small changes. I will just list them for now in case you might be interested in implementing any of them.
1) When a feed is selected, KPodder will automatically download the rss feed, examine it and bring up the listview panel with the relevant information. This just bypasses the clicking of the "Download Cast List" button.
2) The log array can be re-examined so that if multiple feeds have the same file listed and if the file entry is changed then all of those feeds info will be changed.
3) Podcasts entries are added, removed, and examined relative to filename. The full url is still stored within the log array.
4) The log array is cleared and m_logRead is set to false after the KPodder script finishes checking the podcasts feeds. That way the log file can be examined again and KPodder will show the newly downloaded podcasts as logged.
All the changes were very minor. I don't have the time right now but I can post those changes later.
1) Parses RSS feeds using xsltproc with the template file from BashPodder
2) Scans the podcast.log file by filename instead of the full url
3) The download portion using wget was altered using code from BashPodder 1.0. The echo command that adds the url to the temp.log file runs after wget is finished downloading a file.
4) Removes a newly made directory if nothing was downloaded during a session. I just noticed that the way I set it up will only work properly if subdirType is set to 0.
http://bored.homelinux.net/stuff/kpodder.sh
I also started messing around with the GUI and I made some small changes. I will just list them for now in case you might be interested in implementing any of them.
1) When a feed is selected, KPodder will automatically download the rss feed, examine it and bring up the listview panel with the relevant information. This just bypasses the clicking of the "Download Cast List" button.
2) The log array can be re-examined so that if multiple feeds have the same file listed and if the file entry is changed then all of those feeds info will be changed.
3) Podcasts entries are added, removed, and examined relative to filename. The full url is still stored within the log array.
4) The log array is cleared and m_logRead is set to false after the KPodder script finishes checking the podcasts feeds. That way the log file can be examined again and KPodder will show the newly downloaded podcasts as logged.
All the changes were very minor. I don't have the time right now but I can post those changes later.
I have been working on it a little bit more.
1) Empty directory deletion now works with all different directory sorting methods.
2) Put the datadir variable used in the main wget command in quotes. I kind of missed that mistake before I started messing around with having KPodder make directories based on feed titles.
3) Put the -p flag in the mkdir command that makes the datadir. Leaving that out did not allow subdirType methods 2 or 3 to work. I'm sure that you accidentally left that out because the -p flag is used when making the output directory.
4) Stores the date in an extra variable. This way podcasts downloaded in one session don't get split up if the script is run around midnight and the date changes while the script is running. Although, I mainly made the change because of the directory deletion code.
5) Unfixed bug - KPodder can't make a proper directory for Diggnation when it tries to make a directory based on the feed title. Taking a look at the title easily shows why.
Revision3 - Diggnation w/Kevin Rose & Alex Albrecht
Mkdir fails to make the directory all because of the / character. I guess the character would have to be replaced with a space or something.
I have put the updated the script on my website so you can check it out. It is a work in progress so it might get updated later. I will wait to put the modified code for the GUI on my site. It is cool that you are taking my input. I am not really that great of a programmer but I like to mess around with code of the programs that I like.
1) Empty directory deletion now works with all different directory sorting methods.
2) Put the datadir variable used in the main wget command in quotes. I kind of missed that mistake before I started messing around with having KPodder make directories based on feed titles.
3) Put the -p flag in the mkdir command that makes the datadir. Leaving that out did not allow subdirType methods 2 or 3 to work. I'm sure that you accidentally left that out because the -p flag is used when making the output directory.
4) Stores the date in an extra variable. This way podcasts downloaded in one session don't get split up if the script is run around midnight and the date changes while the script is running. Although, I mainly made the change because of the directory deletion code.
5) Unfixed bug - KPodder can't make a proper directory for Diggnation when it tries to make a directory based on the feed title. Taking a look at the title easily shows why.
Revision3 - Diggnation w/Kevin Rose & Alex Albrecht
Mkdir fails to make the directory all because of the / character. I guess the character would have to be replaced with a space or something.
I have put the updated the script on my website so you can check it out. It is a work in progress so it might get updated later. I will wait to put the modified code for the GUI on my site. It is cool that you are taking my input. I am not really that great of a programmer but I like to mess around with code of the programs that I like.
More updates.
1) Fixed the title bug. Awk is used to replace any / characters with spaces.
2) Tightened the if statements
Updates about the GUI.
1) The loadFeeds function is run after KPodder is finished downloading podcasts. This way KPodder can check for new podcasts multiple times without having to quit the program and start it up again. The program will scan the feeds and update to correspond to any newly downloaded podcasts or if a feed happened to change.
2) Found a bug. The reset button doesn't work.
I have uploaded the three changed files for the KPodder GUI to my site.
http://bored.homelinux.net/stuff/kpodder/
Edit: Fixed the reset problem. I was wrong when I said that the reset button didn't work. It did everything that it was programmed to do but it was not set up to clear the log array and that is what I noticed. I edited the loadOptions function to clear the log array and set m_logRead to false. That way the cast entries can get reset and will reload with the data that was applicable before the last apply. I think that I have done all the editing that I want to do. There isn't anything that I would change at this point and everything seems fine.
1) Fixed the title bug. Awk is used to replace any / characters with spaces.
2) Tightened the if statements
Updates about the GUI.
1) The loadFeeds function is run after KPodder is finished downloading podcasts. This way KPodder can check for new podcasts multiple times without having to quit the program and start it up again. The program will scan the feeds and update to correspond to any newly downloaded podcasts or if a feed happened to change.
2) Found a bug. The reset button doesn't work.
I have uploaded the three changed files for the KPodder GUI to my site.
http://bored.homelinux.net/stuff/kpodder/
Edit: Fixed the reset problem. I was wrong when I said that the reset button didn't work. It did everything that it was programmed to do but it was not set up to clear the log array and that is what I noticed. I edited the loadOptions function to clear the log array and set m_logRead to false. That way the cast entries can get reset and will reload with the data that was applicable before the last apply. I think that I have done all the editing that I want to do. There isn't anything that I would change at this point and everything seems fine.