Okay, so I’ve now updated SoccerPhone to work with the new HTML layout for the live scores page at the MLS website. The cool thing is that I only had to update a few methods in the Python CGI scripts, mostly the regular expressions that I use to locate the game time, scores, elapsed time, and goal scorers. I also updated and enhanced the PyUnit automated tests that I use to convince myself that subsequent changes haven’t broken anything.
I didn’t make any changes to the VoiceXML code. The format of the XML document that the Python code sends back stayed the same, even though the source of the data changed quite a bit.
Although I like the new look of the MLS scores page and I like the fact that it updates every 3 minutes instead of 5, there are two changes from last year that I really don’t like. And not just because they are a pain in the ass for my program.
First, the end of a game is not indicated by ‘Final’. Some games ended with the time at 90:00, but one ended at 91:00. When I first checked the scores page, I thought I was catching a couple games in injury time. After they didn’t update for a couple minutes, I realized that they must be over.
Second, the scoring details are littered with the cumulative number of goals or assists for that person. If I want to know season-long stats, I’ll go look at the statistics page.