I'm trying to bring more exercise into my life (have been for a while!) and I use the website 'mapmyrun' to log my activities (it has sister sites, mapmyride and mapmytri which are effectively just 'skins' on the basic design). Using these sites provides an unambiguous record of how much (or how little) I do, which is somewhat motivating. There is an RSS feed of my activities, but it contains a little too much information (I don't want to broadcast to the world how much weight I need to lose!)
Therefore, I 'clean it up' using a script.
Here is the script I currently have:
cd ~ wget -q http://www.mapmyrun.com/rss/rss_workouts?u=xxxxxxx --output-document=exercise.rss grep -v "<b>Weight:</b>" exercise.rss | grep -v "<link>" > exercisejournal.rss rm exercise.rss
sed ' s/<\/b>//g s/<channel>/<channel><link>http:\/\/www.mapmyrun.com\/<\/link>/g s/<br\/>//g s/<b>//g' <exercisejournal.rss >public_html/finalfile.rss
I then take the feed and give it to feedburner, which then tidies it up further. I decided to put the result into 'friendfeed' - but it wasn't taking.
So I validated it:
This feed is valid, but interoperability with the widest range of feed readers could be improved by implementing the following recommendations.
line 9, column 43: item should contain a guid element (158 occurrences) [help]
Duration: 00:52:00 (HH:MM:SS)
Could it be simply that friendfeed doesn't like the feed due to lack of guid?
No worries, I'll write an extra sed line which takes the date,time and possibly other info to create a guid for each item.... but I cannot get the syntax right; I don't even know if this is possible, given that the date and time are on different lines!
Why possibly include other info? This may be needed for when I do two bits of exercise on one day which have the same duration (I'd include kcal and the heart rates, I think.
There has to be a neat way to generate a unique guid for each item and insert it.... can anyone see how to do this? Is sed the correct command, even? I'd be grateful if you could let me know. The xml prior to feedburner doing its thing is here.